我正在调用$ http.post函数,但无法获取另一方的数据,调用成功但无法检索PHP脚本中的数据
AngularJS :
var data = {
firstname: $scope.first_name,
lastname: $scope.last_name,
email : 'test@fff.com',
user : userID
};
var config = {
headers : {
'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;'
}
}
$http.post('http://xxx-env.us-east-1.elasticbeanstalk.com/apipost/updateusersetting/user/'+userID, data, config).success(function (data, status, headers, config) {
alert('yay'); // this works and gets called
})
.error(function (data, status, header, config) {
});
服务器端PHP:
$data = json_decode(file_get_contents("php://input"));
$email = $data->email;
$user = $data->user;
$firstname = $data->firstname;
$lastname = $data->lastname;
也尝试了这个,不起作用
$email = $_POST['email'];
$user = $_POST['user'];//$data->user;
$firstname = $_POST['firstname']; //$data->firstname;
$lastname = $_POST['lastname']; ;//$data->lastname;
答案 0 :(得分:0)
为$ http中的每个帖子传递数据。例如
$http({
method :'POST',
url:'server/company/addData',
data: $scope.FormData,
headers: {'X-API-KEY': $rootScope.currentUser.key}
})
.success(function(data){
console.log(data);
});
这里我为服务器端脚本发布的数据包含范围内的Formdata值。
答案 1 :(得分:0)
如果要将json发送为JSON.stringify()
,请使用JSON
来包装json。
var parameter = JSON.stringify(data);
以下是您拨打电话的方式。
$http({
method: 'POST',
url: 'http://xxx-env.us-east-1.elasticbeanstalk.com
/apipost/updateusersetting/user/'+userID',
data: parameter ,
headers: {'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;'}
})