我正在尝试使用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']
阵列访问服务器上的表单数据。