做一个POST请求中AngularJS是有点棘手。如果你不喜欢它下面,你无法通过PHP访问的POST变量$_POST或$_REQUEST。用下面的方法,你只能通过file_get_contents()函数访问POST变量;
$http({
url: "api/getUserData",
method: "POST",
data:{user_id:app.user_id}
}).success(function(data, status, headers, config) {
$scope.data = data;
}).error(function(data, status, headers, config) {
$scope.status = status;
});
如何获得POST值与上面的方法其原因是,AngularJS不序列化传递到自动POST请求的数据(参数)。因此,我们必须将数据与$.param(),这是在jQuery中提供序列化。也是默认内容类型发布的数据是application/x-www-form-urlencoded
。因此,我们需要覆盖POST请求的内容类型标头应用程序/
x-www的形式,进行了urlencoded为了通过$_POST或$_REQUEST来访问张贴的值
$http({
url: "api/getUserData",
method: "POST",
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
data: $.param({user_id:app.user_id})
}).success(function(data, status, headers, config) {
$scope.data = data;
}).error(function(data, status, headers, config) {
$scope.status = status;
});
如下所示,您可以访问在上述方法POST值。
$user_id = $_POST['user_id'];