我有一个问题。我正在使用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]
。我需要在这里获取所有数组数据。请帮帮我。
答案 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));
您现在应该能够计算数组中的项目