我正在努力研究如何测试我的代码。
我在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 提交表单时测试脚本工作/回显变量等?
答案 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发送的数据。