2017-04-14 4 views
0

私は、データベースからJSONエンドポイントにデータをフェッチすることができます。 。私はその後、テーブルにデータをロードし、しばらくの間このテーブルをリフレッシュし続けたいと思います。データ収集のためのjQueryとajaxでデータを使用すると、奇妙なURLが返される

私はバックエンドとしてDjangoを使用しています。私はDatatables(https://datatables.net)というjavascriptライブラリを見つけ、適切に設定しています。私がやったことを要約すると、HTMLの表を表の一番上の行の命名で作成することです。次に、JavaScriptのDatatablesフレームワークを使用して、フレームワークから提供されたajax呼び出しを使用してJSONファイルからアプリケーションのエンドポイントにデータを取得します。

ドキュメント(https://datatables.net/examples/ajax/simple.html)に示すように、これは例に基づいている:

$(document).ready(function() { 
    $('#example').DataTable({ 
     "ajax": "data/arrays.txt" 
    }); 
}); 

この部分は魔法のように動作し、しかし本当に何が起こっているかを掘り下げる後、私はアヤックスを行うたびことを発見次のGETコマンドを-call上記の例をロードするときに同じメッセージがコンソールに表示することができ

XHR finished loading: GET "https://some.com/api/herearejson?_=1492196827012".  jquery-1.12.4.js:10254 

送られます。

URLの末尾にある最後のクエリのようなステートメントが誰かに教えてくれるのだろうかと疑問に思っていましたか?私に

?_=1492196827012

それだけ増加することをカウンターのいくつかの種類のように見えるが、これはから来て、なぜそれがありますどこ私は知らないのですか?

私はそれが何であるかを知ることができなかったし、私はそれがどこから来るのか実際には分からないので、私はそれを使用することに懐疑的です。これは長期的に私のアプリケーションに影響を与えることができますか?

誰かが私にこれを理解させてくれることを願っています。

答えて

1

これはブラウザが常にキャッシュではなくサーバーからデータを読み込むようにするためのアンチキャッシュパラメータです。

+0

Aha!私はそれを知らなかったので、Datatablesはデフォルトとしてこのオプションを持っていて、 'function something(){$。ajax({url:url)}); 'のようなものを使うと、このオプションは中止されていますか?迅速なご回答をありがとうございました! – magnusnn

+0

はい、これはDataTablesが使用する追加パラメータです。多くのjsフレームワークはそういったことをしています。しかし、$ .ajaxは渡すパラメータだけを送信するので、アンチキャッシュの生成は組み込まれていません。 –

+0

パーフェクト、それをクリアしてくれてありがとう! – magnusnn

関連する問題