【发布时间】:2012-10-10 04:04:19
【问题描述】:
我在使用 jQuery post 的函数时遇到了一些问题。该函数应该自己运行几次然后停止,过去它已经成功地完成了。现在发生的情况是,它第一次运行该函数时,php 脚本执行得很好。当它再次尝试自行运行时,我收到 404 错误。 这是javascript函数:
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 文件运行没有错误,因此该文件存在,并且我在函数中正确调用它。它在过去一直有效,我已将两个脚本恢复到我知道它有效的程度。如果有人对导致这种情况的原因有任何想法,将不胜感激。谢谢你。
【问题讨论】:
-
这不可能是服务器端问题,除非 php 脚本使用 cookie 并计算特定 ips/网站发出的请求并仅在第一次请求后阻止它们。除非是这种情况,否则您需要完成客户端编码。并请张贴相关网站的链接。
-
是否有任何其他服务器端问题可能导致此问题?我已将文件上传到实时站点,那里一切正常。我会发布一个链接,但它都在 wordpress 网站的后端。
-
还有更多可能,但可以忽略。例如,服务器在第一个请求后将您列入黑名单。但是,当第一次请求成功时,为什么它会回复 404 错误?第一个请求在服务器的算法中将您突出显示为机器人或站点爬虫。还有一些其他的,但让他们毫无意义的是,你被允许提出第一个请求。请求之间是否更改了 ip?如果不是,则故障出在客户端脚本上。
-
如果您可以链接相关网站,我会发送一些虚假的帖子请求,并检查我是否受到同样的对待。
标签: php javascript jquery ajax wordpress