$ http发布到php后端,但服务器端什么都没得到

时间:2014-06-11 14:54:12

标签: angularjs http-post

我正在学习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后端。

1 个答案:

答案 0 :(得分:1)

默认情况下,

angular仅支持json请求转换器。正如您所看到的,您的角度请求都有数据,但它们是json。您需要更改服务器以便它可以解析json,或添加请求转换器,以便数据采用表单编码格式。

您可以在此处详细了解$ http变形金刚:https://docs.angularjs.org/api/ng/service/ $ http