jQuery ajax回调在Firefox中表现得很奇怪
我有一个问题与jQuery 1.7.1和Firefox中的ajax功能。 我正在做一个从CMIS服务器请求json的ajax调用。 在铬一切正常。 让我举一个例子:
function ajaxCall(url, requestType, isAsync, parameters, doneCb, failCb) {
$.ajax(url, {
type: requestType,
async: isAsync,
data: parameters
}).done(
alert("test"),
// the following function gets not executed in firefox with async: true
function (result) {
doneCb(result);
}).fail(function (cause) {
failCb(cause);
});
}
Firefox中奇怪的是,如果我使用async:false,那么所有的东西都像魅力一样。 如果我使用async:true,那么完成的回调也会被执行,并且会弹出警告消息“test”。 但警报后的功能没有得到执行。 我GOOGLE了很多,并找不到解决这个问题的方法。
你是我的最后希望;)
感谢和最好的问候,西蒙
我也尝试了老式的方式,但结果仍然是一样的 - 如果异步是真的,成功函数不会在firefox中调用。
$.ajax(url, {
type: requestType,
async: isAsync,
data: parameters,
success: function(result){
doneCb(result);
},
error: function(cause){
failCb(cause);
}
});
该代码正在发出alert
,并将其返回给done的第一个参数。 它在函数初始化时执行,而不是在实际调用done()
方法时执行。
它应该看起来像
.done(
function() { alert("test") },
function() { ... }
)
链接地址: http://www.djcxy.com/p/17337.html
上一篇: jQuery ajax done callback behaves strange in firefox
下一篇: How to set a JavaScript breakpoint from code in Chrome?