无法使用PHP和Angular.js中的post methos获取数组数据

时间:2017-01-11 08:45:24

标签: php angularjs arrays

我有一个问题。我正在使用Angular.js和PHP提交表单。我使用$http服务向服务器端发送数据数组,但在服务器端,我没有得到任何价值。我在下面解释我的代码。

var supplierData=$("#billdata").serialize();
supplierData+= "&image="+newpath+"&action=add"+"&special="+$scope.example14model;
$http({
    method:'POST',
    url:"php/customerInfo.php",
    data:supplierData,
    headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
}).then(function successCallback(response){
  console.log('respon',response.data);
},function errorCallback(response) {
})

此处$scope.example14model正在采集如下数据。

$scope.example14model=[
         {'id':1},
         {'id':2}
]

我在服务器端获取这些数据,如下所示

$mulspec=$_POST['special'];

在打印此值时,它没有提供任何数据,但显示[object Object],[object Object]。我需要在这里获取所有数组数据。请帮帮我。

1 个答案:

答案 0 :(得分:0)

执行以下操作时:

"&special="+$scope.example14model

它只是在example14model属性上执行toString,默认情况下,这将为您提供所看到的内容。我认为你需要做的是将它转换为json。试试:

"&special="+JSON.stringify($scope.example14model)

这将在服务器端以json字符串形式出现,因此您可能需要对对象进行一些序列化,具体取决于您要对其执行的操作。

评论后更新。 我自己没有在PHP中使用JSON,但是为了从数据中获取对象,我认为以下内容将起作用。

$json=$_POST['special'];
$mulspec=json_decode($json);

echo(count($mulspec));

您现在应该能够计算数组中的项目