我有两个使用jQuery 1.4.2的ajax调用的问题。第一次调用服务器需要很长时间才能响应(超过40秒),当第二次调用被触发时(没有超时),FireBug告诉我第二次请求响应被正常下载但成功事件不是被解雇。有人能告诉我为什么会这样吗?第一次调用完成后,将触发第二次成功事件。我不想等待第一个电话完成。
我的代码示例是:
函数GetSession(){
var superUrl = "";
superUrl = "http://urltakingalongtimetogivea200response";
// requires authentication
$.ajax({ url: superUrl,
dataType: "jsonp",
timeout: 5000,
jsonpCallback: 'Login',
contentType: "application/json; charset=utf-8",
success: function GotSession(result) {
sessionkey = result.SessionKey;
},
error: function AjaxFailed(result) {
alert("error retrieving session:" + result);
}
});
}
$(“#click-me”)。点击(function(){
theQuery = "http://urlreturningresponsequickly";
$.ajax({ url: theQuery,
dataType: "jsonp",
jsonpCallback: 'Results1s',
contentType: "application/json; charset=utf-8",
success: function Success(result) {
alert("this is taking to long to succeed");
// other methods
}
,
error: function AjaxFailed(result) {
alert("error:" + result);
}
});
});
谢谢, 科林。
答案 0 :(得分:-1)
不确定,但也许你必须添加:
async: true
到ajax调用