微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – Ajax请求耗时太长

我问你,因为我没有任何想法……

我做了一个ajax请求,从服务器获取一个小数据. json的答案已经被服务器缓存了,所以速度非常快.

喜欢

window.xhr = $.ajax({
url: domain+'index.PHP?fx_action=ajax&fx_mode=continents&fx_type=countries&fx_ajaxid='+window.currentajaxrequest+'&fx_id='+window.id+'&fx_page='+(window.page-1)+'&fx_pager='+window.pager+'&fx_order='+window.order,
type: 'POST',
dataType: 'json',
timeout: 5000,
cache: false,
async: true,
beforeSend: function () {
        ...
    },
    error: function (xhr, ajaxOptions, thrownError) {
        return false;
    },
    success: function (data) {  
        ...

但是答案时间大规模滑动,有时需要1秒,有时只需67毫秒……

continents.js:65  http://teszt.domain.com/index.PHP?fx_action=ajax&fx_mode=continents&fx_type=countries&fx_ajaxid=0&fx_id=6&fx_page=1&fx_pager=9&fx_order=name
continents.js:100 start: 0
continents.js:101 beforesend: 9
continents.js:102 success: 5087
continents.js:103 complete: 5096
continents.js:65  http://teszt.domain.com/index.PHP?fx_action=ajax&fx_mode=continents&fx_type=countries&fx_ajaxid=1&fx_id=6&fx_page=2&fx_pager=9&fx_order=name
continents.js:100 start: 0
continents.js:101 beforesend: 9
continents.js:102 success: 70
continents.js:103 complete: 77
continents.js:65  http://teszt.domain.com/index.PHP?fx_action=ajax&fx_mode=continents&fx_type=countries&fx_ajaxid=2&fx_id=6&fx_page=3&fx_pager=9&fx_order=name
continents.js:100 start: 0
continents.js:101 beforesend: 11
continents.js:102 success: 301
continents.js:103 complete: 304

获得具有几乎相同大小(kbytes)的相同数据结构.一切都由服务器缓存.

在服务器端,PHP的运行时间总是大约30-40ms.我的错是什么?

解决方法:

除了服务器上网络速度和性能的高峰,您可能会遇到浏览器中相同主机名的2个活动连接的限制.几个问题:

>您是否有其他可以同时运行的请求?
>此脚本是否在页面启动时运行?如果是这样的话,它可能会与其他资源请求作斗争.

我建议你看看firebug中的网络面板,看看在你的请求发生时还有什么.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐