当我使用
jquery的$.post ajax函数时,页面冻结2-3秒然后收到数据.冻结时间可以根据收到的数据而变化.
我该如何防止这种情况?
编辑:
我正在使用CODE,它实际上收到非常大的数据
$.post("../ajax_updates.PHP",{ time: last_update },function(data) { if (data) { if (data != "") { $("#news_Feed").prepend($(data).fadeIn('slow')); } } });
解决方法
如果您通过JavaScript加载大量数据这是正常的,问题是由于您的请求是同步的,这将使您的浏览器在执行任何其他操作之前等待此请求结束.
您需要使您的请求异步
您需要使您的请求异步
附:在某些情况下,使用$.get而不是$.post从服务器获取信息 – 特别是如果您在Windows IIS下编码工作,您将收到相关错误.
P.S-1.有意义的是,$.get用于从服务器获取数据,$.post用于发送数据.
试试这个:
$.ajaxSetup({ async: true }); $.get("../ajax_updates.PHP",function(data) { if (data && data != "") { $("#news_Feed").prepend($(data).fadeIn('slow')); } });
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。