我有一个web应用程序调用ajax web服务。这个web服务返回我的应用程序的配置,所以ajax调用需要设置为{async:false}。 当我的服务器启动时,一切正常,但如果不是,我的浏览器就会冻结。即使我在ajax呼叫设置中设置了超时时间。 我有一个错误处理函数,即使超时通过也不会被调用。
有人曾经遇到过这种情况吗?
@Edit:我的问题可以通过执行异步调用
我有一个web应用程序调用ajax web服务。这个web服务返回我的应用程序的配置,所以ajax调用需要设置为{async:false}。 当我的服务器启动时,一切正常,但如果不是,我的浏览器就会冻结。即使我在ajax呼叫设置中设置了超时时间。 我有一个错误处理函数,即使超时通过也不会被调用。
有人曾经遇到过这种情况吗?
@Edit:我的问题可以通过执行异步调用
当浏览器是单线程这将是更好地处理在回调成功返回的配置 ,并在错误回调处理任何错误来解决。
$.ajax({
url: "mydomain.com/url",
type: "GET",
dataType: "json",
data: $.param($("Element or Expression")),
complete: function() {
//called when complete
},
success: function() {
//called when successful
},
error: function() {
//called when there is an error
},
});
好吧,我发现那种在后一个答案:http://stackoverflow.com/questions/2195259/ajax-synchronous-call-with-timeout – Celero 2011-04-12 12:15:41
这就是我要建议。祝你好运;) – 2011-04-12 12:17:42
为什么不做异步,并有''成功'回调函数中运行所需的任何代码? – 2011-04-12 12:18:53