【发布时间】:2016-05-11 09:17:11
【问题描述】:
Chrome 浏览器不会在每次 AJAX 后刷新,它只会在循环结束执行所有 AJAX 请求时刷新。在 Firefox 中它可以正常工作,在 Chrome 调试器中也可以(逐步)。我还添加了超时,但它没有帮助。 Ajax 调用是同步的。更改为异步不会产生差异。
$("#doAllTest").click(function () {
$(".doTest").each(function () {
$(this).trigger('click');
})
});
我的一个 Ajax 调用:
$("#ut2").click(function () {
var user_id = logIn("user","user");
$.ajax({
type: 'POST',
url: "/ScrummyPro/src/forms/card/includes/windows.php",
async: false,
data: {
window: "update_sp",
burned_stp: "1",
card_id: "409"
},
success: function (result) {
var msg = jQuery.parseJSON(result);
if (msg) {
$("#ut2result").text("Success - Server response: " + msg);
$("#ut2result").attr("class", "successful");
} else {
$("#ut2result").text("Operation failed - Server response: " + result);
$("#ut2result").attr("class", "failed");
}
//the change (in if statement) appears after looping.
},
error: function (result) {
$("#ut2result").text("Ajax Error").attr("class", "failed");
}
});
importer(2);
});
if 语句中的 DOM 变化(成功时)在循环后出现。
在调试模式下,我可以看到添加了“成功”类,但我看不到它的效果。循环后出现。
【问题讨论】:
-
发起ajax调用的代码在哪里?
-
你应该看看 promises。
-
$(this).trigger('click'); - 发起 AJAX 调用,我调用了很多 AJAX 调用。我可以加一个。
-
你在 PHP 中使用 session 吗?
-
是的,但是在 Firefox 中它可以工作...
标签: javascript ajax