我正在学习AngularJS,并试图使用下面的代码将转储数据发布到php后端。
angular.module('app.customerModule', [])
.factory('customerFactory', function($scope, $http) {
return {
var customer = {customer: '1234'};
httpNewCustomer: function(callback) {
$http.post('http://domain.local/customer_new.php', )
.success(function(data) {
})
}
}
})
.controller('customerController', function($rootScope, $scope, customerFactory) {
$scope.newCustomer = function() {
customerFactory.httpNewCustomer(function(dataResponse) {
});
}
});
不幸的是,在服务器端没有为$ _POST获取任何内容;
这就是http标题的样子。
我也尝试过这种替代编码
httpNewCustomers: function(callback) {
var postData = {customer: '2345'};
$http({
method: 'POST',
url: 'http://domain.local/customer_new.php',
data: postData,
headers: {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8'}
})
.success(function(data) {
})
}
这就是http标题的样子。
当我使用这个编码尝试jQuery时,一切都很好。
var postData = {customer: '3456'};
$.ajax({
type: 'POST',
url: 'http://domain.local/customer_new.php',
dataType: 'json',
data: postData,
success: function(data) {
// console.log(data);
}
});
请帮我配置$ http以将数据发布到php后端。
答案 0 :(得分:1)
angular仅支持json请求转换器。正如您所看到的,您的角度请求都有数据,但它们是json。您需要更改服务器以便它可以解析json,或添加请求转换器,以便数据采用表单编码格式。
您可以在此处详细了解$ http变形金刚:https://docs.angularjs.org/api/ng/service/ $ http