我问你,是因为我没有任何想法...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
在得到同样的数据结构几乎相同的千字节大小。一切都由服务器缓存。
在服务器端,php的运行时间总是大约30-40ms。我的错误是什么?
2011-08-01
Répás
+0
我在本地运行的Web服务器上有类似的问题。我会想象它会更快,但令人惊讶的是一些网站比它有更好的表现! –
+0
也许服务器很慢?也许在你的测试PC上运行一个洪流客户端,这会混淆所有连接(确定我遇到了这个问题:D) –
+1
浏览器只对并行服务器执行有限数量的请求。根据一致请求的数量,这可能会有所不同,因为有些请求在执行之前需要等待。 –