我有一个调用(每10秒)调用下一个函数的setintervall:
function myJSONCall(imgIDs) {
var href = $('#href_' + imgIDs[0]).attr('href');
alert("MyJSONCall..." + href);
$.getJSON("/mvc-ajax/ac/availability", {
url: href
}, function(availability) {
alert("Availabilit=" + availability);
if (availability == "OK") {
alert("It's a valid location");
} else {
alert("It's an invalid location");
}
});
alert("I left from myJSONCall");
}
我不知道为什么,“getJSON”只触发一次。每隔10秒显示$ .getJSON之间设置的“警报”。那有什么问题?
答案 0 :(得分:1)
ajax是异步的。在ajax调用返回后移动settimeout(或interval):
function myJSONCall(imgIDs) {
var href = $('#href_' + imgIDs[0]).attr('href');
alert("MyJSONCall..." + href);
$.getJSON("/mvc-ajax/ac/availability", {
url: href
}, function (availability) {
alert("Availabilit=" + availability);
if (availability == "OK") {
alert("It's a valid location");
} else {
alert("It's an invalid location");
}
setTimeout(myJSONCall, 10000); //SET TIMEOUT HERE
});
alert("I left from myJSONCall");
}