我无法获得数组的值。请帮我。我正在使用angularjs和php slim框架。
这是我在PHP中的代码:
function testArray(){
$app = Slim::getInstance();
$app->response()->header("Content-Type", "application/json");
$post = json_decode($app->request()->getBody());
$data = get_object_vars($post);
echo json_encode(array_values($data['name']));}
这是我在控制器和工厂中的代码:
app.controller('fooCtrl', ['$scope', 'adminFactory', function($scope, adminFactory) {
$scope.arr = [{name:"rence"}, {name:"asd"}, {name:"qwe"}, {name:"qwe"}]; //your array
adminFactory.sendData($scope.arr).then(function(data) {
console.log(data);
});}]);
adminFactory.sendData = function(arr) {
return $http({
withCredentials: false,
method: 'post',
url: urlBase + '/test',
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
data: {'arr': arr}
});
};
我从php收到错误。 500内部服务器错误)。谢谢!
答案 0 :(得分:0)
看起来你在服务器上期待json,但你添加了form-urlencoded
从headers
移除$http
。
此外,您必须自己序列化数据以发送表单编码