2012-10-10 70 views
0

我在使用jQuery post函数时遇到了一些麻烦。该函数应该运行多次,然后停止,它在过去已经成功完成。现在发生的事情是,它第一次运行该函数时,PHP脚本执行得很好。当它试图再次运行时,我得到一个404错误。 这里的javascript函数:ajax调用文件第一次,第二次得到404错误

function ajax_call(senddata){ 
    $.post("/script.php", senddata, 
     function(data) { 
      if(data.pointer != "done"){ 
       setTimeout(ajax_call(data), 100); 
      } 
     }, "json"); 
} 

php文件的输出是:

{"pointer": "1234"} 

错误是发生在WordPress插件我写和显示为: POST http://xxxxx.local/script.php 404(未找到) - load-scripts.php

正如我所说,它第一次工作。 php文件运行时没有错误,所以文件存在,我在函数中正确调用它。它在过去有效,我已经将这两个脚本恢复到了我知道它工作的地步。如果任何人有什么想法会导致这一点,将不胜感激。谢谢。

+0

它不能成为服务器端的问题,除非php脚本使用cookie和计数由特定ips /网站发出的请求并且只在第一次请求后才阻止它们。除非是这种情况,否则您需要通过客户端编码。并请张贴有关网站的链接。 –

+0

是否有任何其他服务器端问题可能导致此问题?我已经将这些文件上传到现场,并且在那里一切正常。我会发布一个链接,但它都在wordpress网站的后端。 –

+0

更多的可能性在那里,但它们可以被忽略。比如,服务器在第一次请求后将您列入黑名单。但是,当第一个请求成功时,为什么它会回应404错误?第一个请求以服务器的算法作为bot或站点爬行程序突出显示您。还有一些人,但让他们无意义的事情是,你被允许提出第一个要求。请求之间的ip是否被更改?如果不是,那么错误在客户端脚本。 –

回答

0

我不认为你的JS有什么问题。我会做的是在IE中使用firebug或F12来查看网络上发生了什么(网络选项卡)。检查请求和响应细节,确保一切都合理。

之后,我会检查服务器日志,看看您是否可以看到任何有关404请求的信息。

相关问题