首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ajax post工作时页面冻结几秒钟

ajax post工作时页面冻结几秒钟
EN

Stack Overflow用户
提问于 2012-04-03 06:09:53
回答 2查看 11.2K关注 0票数 4

当我使用jquery的$.post ajax函数时,页面冻结了2-3秒,然后收到数据。冻结时间可以根据接收到的数据而改变。

我如何防止这种情况发生?

编辑:

我使用的COde,它实际上接收非常大的数据

代码语言:javascript
复制
$.post("../ajax_updates.php", {  time: last_update }, function(data) { 
   if (data) {
   if (data != "") {
    $("#news_feed").prepend($(data).fadeIn('slow'));
    }
    }
    });
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-03 06:13:07

如果你通过JavaScript加载大量数据,这是正常的,问题是因为你的请求是synchronous,这会使你的浏览器等待这个请求结束,然后再做任何其他事情。您需要将请求设置为asynchronous

附注:使用$.get而不是$.post从服务器获取信息,在某些情况下-特别是如果你在Windows IIS下编码工作,你会得到一个关于这方面的错误。

P.S-1。有意义的是,$.get用于从服务器获取数据,而$.post用于发送数据。

试试这个:

代码语言:javascript
复制
$.ajaxSetup({
    async: true
});

$.get("../ajax_updates.php", {  time: last_update }, function(data) { 
  if (data && data != "") {
    $("#news_feed").prepend($(data).fadeIn('slow'));
  }
});
票数 12
EN

Stack Overflow用户

发布于 2012-04-03 06:12:20

发送ajax请求时,请确保将async设置为true。如果设置为false,浏览器将冻结,直到收到响应。

http://api.jquery.com/jQuery.ajax/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9984538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档