IE 9,10,11 - Ajax调用没有返回

时间:2013-12-17 20:02:47

标签: javascript jquery ajax internet-explorer

我遇到了与jQuery和ajax相关的IE问题。 Chrome和Firefox工作正常,但我的ajax调用在IE中消失了。

进行ajax调用后,successfail函数都没有被调用。我可以在IE控制台中看到响应,我知道我的控制器动作正在被击中。

$.ajax({
    url: controllerUrl
    type: 'POST',
    dataType: 'json',
    cache: false,
    data: {
        id: customerId
    },
    success: function () {
        alert('success!');
    },
    error: function () {
        alert('failed!');
    }
});

还有其他人看过这个问题吗?

2 个答案:

答案 0 :(得分:2)

fail: function () {
        alert('failed!');
    }

fail不是有效的jQuery ajax设置。我相信你正在寻找error

此外,cache: false,POST次请求不执行任何操作。

请注意,jQuery 不会POST次请求后添加时间戳。

源代码清楚地证明了这一点。 (摘自https://github.com/jquery/jquery/blob/master/src/ajax.js

var rnoContent = /^(?:GET|HEAD)$/;
s.hasContent = !rnoContent.test( s.type );
if ( !s.hasContent ) {
   /* code to append time stamp */
}

答案 1 :(得分:0)

您的网址参数后缺少逗号,

$.ajax({
    url: controllerUrl, // <--- you were missing this comma!
    type: 'POST',
    dataType: 'json',
    cache: false,
    data: {
        id: customerId
    },
    success: function () {
        alert('success!');
    },
    error: function () {
        alert('failed!');
    }
});