从ajax捕获php端的数据

从ajax捕获php端的数据,php,ajax,Php,Ajax,我很困惑。在从ajax传递数据之后,如何在php端捕获值。最初,我将数据放入一个对象数组中。通过Ajax传递数据时,我是作为stringArray还是作为ObjectArray传递?这是否意味着我需要将其字符串化 我在MVC中这样做,所以它在url中是/test <script> var objectArray = [{"name":"Robert", "type": "male"}, {"name":"Jane", "type": "female"}] var st

我很困惑。在从ajax传递数据之后,如何在php端捕获值。最初,我将数据放入一个对象数组中。通过Ajax传递数据时,我是作为stringArray还是作为ObjectArray传递?这是否意味着我需要将其字符串化

我在MVC中这样做,所以它在url中是/test

<script>
    var objectArray = [{"name":"Robert", "type": "male"}, {"name":"Jane", "type": "female"}]
    var stringArray = JSON.stringify(objectArray);

    $.ajax({
       type: 'POST',
       url: '/test',
       data: stringArray,  //do I pass in objectArray or stringArray here?
       success: function(response)
       {
          alert(response);
       }   
    });
</script>   


test.php
<?php

public function test()
{
   $var = '';
   foreach($_POST['name'] as $value)
   {
       $var .= ' ' . $value;
   }
   return $var; // It says I'm getting unidentified index $_POST['name']
}

?>

var objectArray=[{“name”:“Robert”,“type”:“male”},{“name”:“Jane”,“type”:“female”}]
var stringArray=JSON.stringify(objectArray);
$.ajax({
键入:“POST”,
url:“/test”,
data:stringArray,//我在这里传入objectArray还是stringArray?
成功:功能(响应)
{
警报(响应);
}   
});
test.php

PHP需要GET/POST中的
key=value
对。您正在传入一个没有名称的整体字符串,因此PHP没有键可用于将该字符串放入$\u POST

试一试


相反。

您应该为试图发送到后端的值提供一个键,而实际上不需要将其作为字符串发送。就像这样:

$.ajax({
   type: 'POST',
   url: '/test',
   data: {users: objectArray },
   success: function(response)
   {
      alert(response);
   }   
});
public function test()
{
   $var = '';
   foreach($_POST['users'] as $value) // use the right key
   {
       $var .= ' ' . $value['name'];
   }
   return $var;
}
然后,在后端,您应该访问已发送的密钥。就像这样:

$.ajax({
   type: 'POST',
   url: '/test',
   data: {users: objectArray },
   success: function(response)
   {
      alert(response);
   }   
});
public function test()
{
   $var = '';
   foreach($_POST['users'] as $value) // use the right key
   {
       $var .= ' ' . $value['name'];
   }
   return $var;
}

非常感谢。这有帮助。我现在得到了返回值的回复谢谢你的提示!现在我需要重新思考这个问题。现在,数组中有两个不同的数据,所以我可能需要执行一个循环来获得键和值对