【发布时间】:2014-04-04 09:39:57
【问题描述】:
我使用 jquery 1.9 几个月了,当用户单击链接时,我使用 jQuery 执行$.ajax。
实际上,当用户单击该链接时,会在加载下一页(长时间加载)时执行 ajax 查询。这曾经在 Chrome 和 IE 9 下与 async: false 完美配合。
但两周前我已将 Chrome 更新到最新版本,但这不再起作用(ajax 未加载但出现下一页)。但它仍然可以在 IE 下运行。
这里是我的 $.ajax 代码:
function doOnClick(id) {
$.ajax({
dataType: "json",
url: 'http://...",
async: false,
data: { id : id }
}).success(function(data) {
//do some stuff
}).fail(function(){
//do some stuff
});
}
还有我的链接:
<a href="http://..." onclick="doOnClick(1);">link</a>
我的 JS 控制台没有错误。
【问题讨论】:
-
添加代码是个好习惯:)
-
在 99.99% 的情况下,不应使用
async: false。现在提供您正在使用的相关代码。顺便说一句,检查你的控制台,有什么错误吗?只是想知道,您是否试图覆盖 onbeforeunload 事件行为?如果是的话,chrome 不再支持它。在这种情况下,这是同步 ajax 请求准确的唯一 AFAIK 案例。现在当然可以有一个简单的解决方法 -
Chrome 停止支持
async: false?是时候庆祝了,我猜:-D -
无法确认。
async.false在我的 Chrome 版本中仍然有效。 -
我编辑了我的帖子以提供代码。
标签: jquery ajax google-chrome