我有一点困惑的情况:)
我有一个JavaScript函数,它被几个不同的页面调用。这个JavaScript页面然后调用一些服务器端PHP代码。大约98%的时间都没有问题。
但有时JavaScript没有传递它应该传递的id参数,这会产生错误。
我的问题是,我无法找到调用JS函数的页面,然后JS函数生成带有错误的PHP调用。
你知道我该怎么追查吗?
当PHP脚本完成工作时,将HTTP_REFERRER
发送到错误日志。添加日期&时间和$_GET
变量以获取更多信息。此信息应该已经在您的web服务器访问日志中,但如果您也需要$_POST
变量,则需要在错误日志中创建自定义消息。
// Simple:
error_log("AJAX call from {$_SERVER['HTTP_REFERRER']}", 0);
// Fancy:
error_log(strftime("Y-m-d H:M:S") . " AJAX call from {$_SERVER['HTTP_REFERRER']}; POST: var1={$_POST['var1']} var2={$_POST['var2']}", 0);
您可以在PHP端使用$_SERVER['HTTP_REFERER']
来尝试确定请求的来源。
查看Firebug中的Net选项卡。这将跟踪所有HTTP请求,包括AJAX调用。如果您正在传递参数,您也可以看到这一点。在Firebug中单击请求旁边的微小+按钮,可以在选项卡式窗格中查看详细信息,包括传递的参数,甚至是传递的JSON对象。