我需要定期从URL检索JSON数据,并相应地更新我的页面。
我有一张桌子。每行都有一个链接,我将链接以测试其状态,例如,每20秒。
这可以使用页面刷新元标记来实现,但我认为ajax将是一个更好的解决方案。
我应该使用$ .getJSON吗? (我对ajax / json很新)
答案 0 :(得分:0)
你基本上就在那里。首先,$.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);
});
};
});