我遇到了与jQuery和ajax相关的IE问题。 Chrome和Firefox工作正常,但我的ajax调用在IE中消失了。
进行ajax调用后,success
和fail
函数都没有被调用。我可以在IE控制台中看到响应,我知道我的控制器动作正在被击中。
$.ajax({
url: controllerUrl
type: 'POST',
dataType: 'json',
cache: false,
data: {
id: customerId
},
success: function () {
alert('success!');
},
error: function () {
alert('failed!');
}
});
还有其他人看过这个问题吗?
答案 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!');
}
});