如何正确测试已使用AJAX发布的PHP脚本?

时间:2015-06-16 09:47:43

标签: php ajax

我正在努力研究如何测试我的代码。

我在PHP中有一个脚本,它从字符串中获取值并将它们放在一个要邮寄的消息中。

使用AJAX提交表单如下:

$.ajax({
    type: "POST",
    url: "actions/sendForm.php",
    data: dataString,
    success: console.log('Success!')
});

数据应该传递给PHP脚本。 var dataString看起来像这样:

var dataString = 'name='+name+'&company='+company+'&email='+email+'&phone='+phone+'&message='+message+'&signup='+signUp;

然后我试图访问这些变量:

parse_str($dataString);

echo $name;
echo $company;
echo $email;
echo $phone;
echo $message;
echo $signUp;

我的问题是有些事情没有发生,我无法再测试我的PHP脚本了,因为我是通过AJAX提交的,所以我从来没有真正用正确的数据来搜索脚本。

如何通过AJAX 提交表单时测试脚本工作/回显变量等?

2 个答案:

答案 0 :(得分:1)

由于方法为POST,只需回显$_POST值:

print_r($_POST);

或者,就像在您的示例中一样,而不是parse_str使用extract

extract($_POST);

echo $name;
echo $company;
echo $email;
echo $phone;
echo $message;
echo $signUp;

在您的ajax功能更改success中:

success: function( msg ) {
    console.log(msg);
}

查看PHP脚本中打印的内容。

答案 1 :(得分:1)

使用Developer Tools控制台。大多数主流浏览器都内置了它们,可以使用F12键访问它们。查看“网络”选项卡(在Chrome中)以查看所有网络流量,包括任何Ajax呼叫。您可以单击ajax调用以查看响应。您在PHP文件中回显的任何内容都将出现在响应中。

因此,如果您在PHP文件中使用var_dump($_POST),则可以检查值是否符合预期。在Chrome中,您还可以查看标题选项卡以查看Ajax发送的数据。