我有问题发送带有角度的json数据,从PHP我需要访问$ _POST [' action']
这有效
$http({
method: 'POST',
url: ajaxurl,
data: "action=get_employer_jobs",
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
}).success(function (data) {
console.log(data);
$scope.jobs = data;
});
这不起作用
app.controller('MainController', ['$scope', '$http', function ($scope, $http) {
console.log('MainController Running');
$http({
method: 'POST',
url: ajaxurl,
data: JSON.stringify({action:"get_employer_jobs"}),
headers: {'Content-Type': 'application/json'}
}).success(function (data) {
console.log(data);
$scope.jobs = data;
});
}]);
答案 0 :(得分:0)
您需要以不同方式处理服务器端的json。
在PHP中,我这样做:
$_REQUEST = json_decode(file_get_contents("php://input"));
Angular将POST数据作为json字符串发送的方式,你需要获取整个请求字符串,解析它,然后你可以使用它。在你进行这种解析之前,它不会自动作为一个很好的数组在$ _POST或$ _REQUEST中。
答案 1 :(得分:0)
我也遇到同样的问题,看起来PHP在$_POST
服务传递时没有填充$http
数组。
尝试直接解析$_POST
。
php://input
php
$postdata = file_get_contents("php://input");
$request = json_decode($postdata);
var_dump($request)
然后您可以使用对象表示法$request->my_var