AngularJS $ http.post如何将json数据设置为请求体

时间:2015-03-26 07:18:49

标签: angularjs

我正在尝试将带有json数据的post请求发送到服务器。但似乎angularJS $ http.post方法没有将数据设置为body。如何将数据设置为正文?

使用asp.net webapi实现远程服务器,并将从正文中读取数据。所以我需要将json数据设置为请求体。

我该如何实施?谢谢。

如果请求发送到同一站点,那么它可以正常工作。但是,如果我将请求发送到CROS服务器,它将无法正常工作。

在远程后端服务器中,我已经更新了webconfig以使其支持CROS调用,但它仍然无效。

 $http.post(resourceUri, requestData)
    .success(function (response) {
    })
    .error(function (data, status, header, config) {
    });

2 个答案:

答案 0 :(得分:10)

您可以像这样构建请求:

var req = {
 method: 'POST',
 url: 'http://example.com',
 headers: {
   'Content-Type': "application/json"
 },
 data: { test: 'test' }
}

$http(req).success(function(){...}).error(function(){...});

答案 1 :(得分:9)

你可以这样做 1.制作一个控制器 2.为通话添加数据

post调用的

语法如下

$http.post(url, data, [config])

app.controller('controller', function ($scope, $http, $routeParams) {
        $http.post('url',data.call1($routeParams.id))
            .success(function (response) {
                 $scope.response = response;
            })
            .error(function (data, status, headers, config) {
            });
    });


var data = {
    call1:
        function (value) {
            return {'key': value, 'key': 'some text'};
         }
}