我已经在我的php服务器上托管了一个服务,想要使用我的angularjs app消费它但不知何故我无法从angularjs发送post params 以下是我的代码
angular.module('pixyfi', ['ngMaterial']).controller('productGridController',function($scope, $http){
$http({
method:'POST',
url:'/getFeed.php',
params:{
user:16,
friends:5,
page:1,
token:1
}
}).then(function(response){
console.log(response.data);
})
})
在php中接收params为
$friends=mysqli_real_escape_string($conn,$_POST['friends']);
$page=mysqli_real_escape_string($conn,$_POST['page']);
$user=mysqli_real_escape_string($conn,$_POST['user']);
$token = mysqli_real_escape_string($conn,$_POST['token']);
请让我知道我错过了什么
为了测试目的,我创建了test.Post.php,它将ID作为post param并回显它。 PHP代码
<?php
$id = $_POST['id'];
echo "ID ".$id;
?>
Angular JS Code
$http({
method : 'POST',
url : '/testPost.php',
data : {"id":"1"}, //forms user object
headers : {'Content-Type': 'application/x-www-form-urlencoded'}
})
.success(function(data) {
if (data.errors) {
// Showing errors.
$scope.errorName = data.errors.name;
$scope.errorUserName = data.errors.username;
$scope.errorEmail = data.errors.email;
} else {
$scope.message = data.message;
}
});
但它再次无效。请建议我应该做些什么改变?
答案 0 :(得分:0)
根据文档,&#39; params&#39;选项适用于GET参数,而不是POST。请参阅https://docs.angularjs.org/api/ng/service/$http#post
上的文档另请注意,当您希望发出POST请求时,可以使用方便的$ http.post方法。
所以你可以试试:
angular.module('pixyfi', ['ngMaterial']).controller('productGridController',function($scope, $http){
$http.post('/getFeed.php', {
user:16,
friends:5,
page:1,
token:1
}).then(function(response){
console.log(response.data);
})
})