从ajax捕获php端的数据
我很困惑。在从ajax传递数据之后,如何在php端捕获值。最初,我将数据放入一个对象数组中。通过Ajax传递数据时,我是作为stringArray还是作为ObjectArray传递?这是否意味着我需要将其字符串化 我在MVC中这样做,所以它在url中是/test从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
<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;
}
非常感谢。这有帮助。我现在得到了返回值的回复谢谢你的提示!现在我需要重新思考这个问题。现在,数组中有两个不同的数据,所以我可能需要执行一个循环来获得键和值对