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

jam*_*015 8 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) {
    });
Run Code Online (Sandbox Code Playgroud)

Soh*_*oni 10

您可以像这样构建请求:

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

$http(req).success(function(){...}).error(function(){...});
Run Code Online (Sandbox Code Playgroud)


Eka*_*ogi 9

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

后调用的语法如下

$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'};
         }
}
Run Code Online (Sandbox Code Playgroud)