gpt4 book ai didi

php - 调试 AJAX 到 PHP 调用的最佳方法是什么?

转载 作者:可可西里 更新时间:2023-10-31 22:10:27 25 4
gpt4 key购买 nike

我在调试我的新项目中的一个小函数时遇到了一段痛苦的时光。

本质上,我让用户通过 AJAX 调用注销我的服务器上名为“userfFunctions.php”的注销脚本我正在使用 AJAX,这样我就不用为编写更多正则表达式来匹配而头疼我的 mod_rewrites。不管怎样,每隔一段时间,我的 Post 数据似乎就完全消失了,而且由于 PHP 在幕后运行,我觉得我无法找出数据流在哪里被中断了。顺便说一句,此功能全天 19 小时有效。

这是javascript函数:

function logOut(){
var data = new Object;
data.log_out = true;
$.ajax({
type: 'POST',
url: 'http://www.mydomain.com/User_Validator', //<-- redirects to userFunctions.php
data: data,
success: function(data) {
alert(data); // <-- a response is triggered but with no response data!
}
});
}

PHP 方面:

if(isset($_POST['log_out'])){
echo 'alert this!';
}

这是我的精彩回复: alt text http://img517.imageshack.us/img517/6520/screenshot20100517at443.png

最佳答案

FirePHP :

FirePHP enables you to log to your Firebug Console using a simple PHP method call.

All data is sent via response headers and will not interfere with the content on your page.

FirePHP is ideally suited for AJAX development where clean JSON and XML responses are required.

这是我写的一个极简实现:

function FirePHP($message, $label = null, $type = 'LOG')
{
static $i = 0;

if (headers_sent() === false)
{
$type = (in_array($type, array('LOG', 'INFO', 'WARN', 'ERROR')) === false) ? 'LOG' : $type;

if (($_SERVER['HTTP_HOST'] == 'localhost') && (strpos($_SERVER['HTTP_USER_AGENT'], 'FirePHP') !== false))
{
$message = json_encode(array(array('Type' => $type, 'Label' => $label), $message));

if ($i == 0)
{
header('X-Wf-Protocol-1: http://meta.wildfirehq.org/Protocol/JsonStream/0.2');
header('X-Wf-1-Plugin-1: http://meta.firephp.org/Wildfire/Plugin/FirePHP/Library-FirePHPCore/0.3');
header('X-Wf-1-Structure-1: http://meta.firephp.org/Wildfire/Structure/FirePHP/FirebugConsole/0.1');
}

header('X-Wf-1-1-1-' . ++$i . ': ' . strlen($message) . '|' . $message . '|');
}
}
}

我编写它只在本地主机上工作(出于安全原因),但您可以通过替换以下代码轻松更改它:

if (($_SERVER['HTTP_HOST'] == 'localhost') && (strpos($_SERVER['HTTP_USER_AGENT'], 'FirePHP') !== false))

与:

if (strpos($_SERVER['HTTP_USER_AGENT'], 'FirePHP') !== false)

关于php - 调试 AJAX 到 PHP 调用的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2853725/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com