javascript - Chrome 浏览器 AJAX 异步问题:false
问题描述
如果我在 Mozilla 中运行相同的代码(来自 Chrome 浏览器),它工作正常,但在 Google Chrome 中它不能工作,因为async: false
如果我正在制作,async: true
那么它可以工作但需要重新加载页面。那么如何在 Chrome 浏览器中处理这个问题
var submitpage = function () {
var loading_dev = 'body';
run_waitMe(loading_dev);
$.ajax({
url: window.updatetestUrl + "?v=" + Math.random(),
type: "get",
dataType: "json",
async: false,
success: function (response) {
//run_waitMe_close(loading_dev);
},
error: function () {
// run_waitMe_close(loading_dev);
}
});
};
解决方案
您确定要使您的请求非异步吗?AJAX 代表异步JSON 和 XML HTTP 请求。作为异步请求,您的呼叫将被发送出去,而不关心其效果或结果。调用将被发送出去,然后它下面的代码行将被执行,而不关心你的调用的响应。
如果您希望您的代码在您的请求完成后执行某些操作,您需要在您的成功函数中定义它(并且可能取消注释 run_waitMe_close)。
success: function (response) {
run_waitMe_close(loading_dev);
//Do other desired work here
},
推荐阅读
- qt - Qt qDebug:没有打印出来
- regex - 正则表达式匹配包含子字符串但后面不应跟随特定子字符串的行
- javascript - 在购物清单中添加商品(使用 javascript)
- arkit - CMAttitude的坐标系和ARKit的坐标系如何对齐?
- audio - 如何在 nim 中播放 WAV 文件?
- php - 分页追加在 laravel 中不起作用
- javascript - 使用jquery向正文显示一个类不起作用
- python - 在 Pytorch 中连接两个张量
- c++ - C++ - 试图创建一个指向节点内指针的指针(由另一个节点指向),对吗?
- java - 从 Java Web 应用程序连接到 WebLogic 的 JNDI 数据源