在代码点火器中的Angular Js http帖子上获取null


Getting null on Angular Js http post in code-igniter

我正在尝试使用angular js和codeigniter进行用户注册,但我将在POST请求中得到NUll响应

$scope.signup=function(user){
  $http({
          method  : 'POST',
          url     : baseUrl+'home/user_register',
          data    : $scope.user, //forms user object
          headers : {'Content-Type': 'application/x-www-form-urlencoded'}
         })
          .success(function(data) {
              alert(data);
          });
}

HTML

<label class="item item-input">
    <span class="input-label">Full name</span>
    <input type="text" ng-model="user.fullName">
  </label>
   ......
.........

服务器端

public function user_register()
    {
        $_POST = json_decode(file_get_contents('php://input'));
        var_dump($_POST);
    }

我在var_dump 中得到NULL

如果要将数据用作服务器中的post负载,则不应将其作为x-www-form-urlencoded发布。所以你应该删除内容类型标题:

$http({
  method: 'POST',
  url: baseUrl + 'home/user_register',
  data: $scope.user
})
.then(function(response) {
  console.log(response.data);
});

但是,如果将数据发布为form-urlencoded,则仍然可以通过$_POST['user']阵列访问服务器上的表单数据。