Jquery Chrome中的长Ajax请求显示等待
在FF和IE中,我向服务器发出Ajax请求(Jquery Post)。这些请求调用一个sql存储过程,该过程在返回数据之前查询30秒(如果数据可用,则立即查询)。然后数据返回到我的javascript,我根据它执行操作 一切都很好,直到我进入Chrome,它将获得更新,但在浏览器中显示加载指针和加载页面图标 每次返回请求时都会进行此调用,因此在用户看来,chrome似乎总是在等待页面加载 这有什么办法吗Jquery Chrome中的长Ajax请求显示等待,jquery,google-chrome,asynchronous,ajax-polling,Jquery,Google Chrome,Asynchronous,Ajax Polling,在FF和IE中,我向服务器发出Ajax请求(Jquery Post)。这些请求调用一个sql存储过程,该过程在返回数据之前查询30秒(如果数据可用,则立即查询)。然后数据返回到我的javascript,我根据它执行操作 一切都很好,直到我进入Chrome,它将获得更新,但在浏览器中显示加载指针和加载页面图标 每次返回请求时都会进行此调用,因此在用户看来,chrome似乎总是在等待页面加载 这有什么办法吗 问候。我最近也遇到了同样的问题。幸运的是,我发现了另一个非常有用的问题。以下是我为解决问题所
问候。我最近也遇到了同样的问题。幸运的是,我发现了另一个非常有用的问题。以下是我为解决问题所做的一个示例:
jQuery(document).ready(function() {
setTimeout(function () {
$.getJSON("veryLongRequest", function(json) {
alert("JSON Result: " + json[0].id);});
}, 500); // You may need to adjust this to a longer delay.
});
注意:我使用的是简写的jquery方法“getJSON”,它是数据类型设置为“json”的ajax调用的包装器。但是,此解决方案适用于所有ajax请求
参考:
我在想,可能您的
async
属性设置为false
?帖子会转到一个启用了异步的aspx页面,然后调用一个asyc存储过程。不,我是说jQuery AJAX调用本身?它是异步的吗?如果您的AJAX调用不是异步的,那么您的ASPX和/或SQL SP是否是异步的将无关紧要,因为您的浏览器无论如何都将不可撤销地处于“等待”状态。Jquery Post默认为异步的。是的,我也知道这一点。只是要确保async
不会因为意外或其他原因被关闭。因此,该评论取代了通常的回答。