[英]AJAX post data from php file
我有一个php文件,用于使用需要通过ajax发送的数据来验证表单。 我从php文件接收回来的数据没有更改,如何接收正确的数据? main.js
$("#PersonForm").submit(function()
{
var data = $("form").serializeArray();
$.ajax({
type:"post",
url:"main.php",
act: 'validate',
datatype:"json",
data:data,
function(data){
console.log(data);
}});
return false;
});
main.php
else if ($_REQUEST['act'] == 'validate')
{
$validateData = array();
if (preg_match("[A-Za-z]{3,20}$/",$_REQUEST['name'])){
$validateData['name'] = 1;
}else{
$validateData['name'] = 0;
}
echo json_encode($validateData);
最初在数据数组中发送的数据是name:Bob
预期的回报是1或0,但我收到name:Bob back。
好的,问题是您必须在data
实际传递它。 您正在执行此操作:
$.ajax({
type:"post",
url:"main.php",
act: 'validate', // <--- THIS IS WRONG
datatype:"json",
data:data, // <--- IT SHOULD BE IN THIS
function(data){
console.log(data);
}
});
它必须在您的data
变量中才能传递。 您将其用作jQuery ajax()
方法的选项,该方法不起作用。
var data = $("form").serializeArray();
data.push({name: 'act', value: 'validate'});
// Then make ajax call here
序列化表格数据后,可以将其添加为附加值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.