URL から定期的に JSON データを取得し、それに応じてページを更新する必要があります。
私はテーブルを持っています。各行には、たとえば 20 秒ごとにステータスをテストするためにリンクするリンクがあります。
これは、ページ更新メタ タグを使用して実現できますが、ajax の方がはるかに優れたソリューションになると思います。
$.getJSON を使用する必要がありますか? (私はajax / jsonにかなり慣れていません)
あなたは基本的にそこにいます。まず第一に、$.getJSON()
は の便利なメソッド$.ajax()
であり、datatype: 'json'
常に を使用することをお勧めし$.ajax()
ます。非同期にロードする関数内で呼び出すsetTimeout
必要があるため、ここでは再帰を使用します。利点は、AJAX 呼び出しを繰り返し実行できることですが、それは前のメソッドが完了したときだけなので、すべてが正しく動作します。これの簡単な例は、次のようになります。
$(function() {
var myFunction = function() {
$.ajax({
url: '/place-for-cool-stuff',
datatype: 'json',
data: { ... data you need to send, e.g. method arguments ... }
}).done(function (data) {
... do stuff with the data you get back ...
}).fail(function (jqXHR) {
... be smart and handle failures ...
}).always(function () {
... no matter what happens do this stuff ...
setTimeout(myFunction, 20000);
});
};
});