繁体   English   中英

来自PHP文件的AJAX发布数据

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM