因为数据表数据比较多,有几万,
生成静态的时候,我是用AJAX发送ID,发送一个ID生成一个静态页面,
然后PHP返回这个ID,ajax接受到这个ID后再发送下一个ID,如此循环,
结果根据firbug显示发现,生成一个页面大约30MS,生成一会,服务器就拒绝,生成就停止了,
请问如何解决?我把PHP生成静态页面运行程序暂停300MS还是不行。

解决方案 »

  1.   

    浏览器端可以判断ajax状态码,如果不是200就重新发送。
      

  2.   

    IP被限了吗,提交的ajax的时候setheader设置一下keep-alive,服务器也适当提高keep-alive的空闲时间。
      

  3.   

    因为数据表有个主键ID,
    我点了生成后,JS就发送这个ID,PHP接受到这个ID,就调用数据生成静态,生成了后就返回它收到的这个ID。
    JS收到这个返回的ID,就发送这个ID+1.
      

  4.   

    ,,服务器反应挺快啊,,建议每次多生成一些页面
    贴js代码看看,,你的错误,是不是程序里限制啦某个ip的访问频率?
      

  5.   

    你这是个什么操作?在生成下一次时上一次的ajax是否执行完毕!你是在ajax的回调函数中递归调用生成的吗?出现这种状况会不会是资源被耗尽了
      

  6.   

    发送和回调是分开的,
    回调在接受到PHP的返回状态后就再次调用发送JS,当然这个回调里还有个判断ID是不是到头了。
    现在问题解决了,我一次生成300个页面,大约用时6S,基本没有停住了。看来还是请求次数太多的原因把
      

  7.   

    1、楼主只说“JS收到这个返回的ID,就发送这个ID+1.”,明显存在递归调用,导致资源耗尽
    2、因为没有说明,所以不能排除服务器端因数据引起的故障