ajax中的异步在Chrome下不再起作用

时间:2014-03-03 11:06:00

标签: jquery ajax google-chrome

我正在使用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控制台没有错误。

1 个答案:

答案 0 :(得分:-1)

使用异步请求,设置选项上下文:

$('.someLinks').on('click', function (e) {
    e.preventDefault();
    $.ajax({
        dataType: "json",
        url: url,
        data: param,
        context: this
    }).success(function (data) {
        //do some stuff
    }).fail(function () {
        //do some stuff 
    }).always(function () {
        this.click(); // call native click method // NOTE: don't use here: $(this).click();
    });
});