如何使用API​​从AngularJS传递Request Body

时间:2017-03-29 00:04:55

标签: javascript c# angularjs json

我正在尝试使用json使用API​​在AngularJS中的Google Map上检索数据。

这是我在Angular中的代码:

    $scope.loadData = function () {
    var map_info = {
            'ApiKey': '1iVuQy3FGK39d51',
            'ProjectId': '11'
        };
    var url = "http://localhost:63411/api/clientportal/?action=mapjson";
    return $http.post(url, map_info).then(function (response) {
        return response.data.MapData;
    });
};

但是,当我运行代码时,它显示“Cross-Origin Reuest Block”错误。

enter image description here

然后,我从互联网上搜索这个错误,我提出了一个解决方案,将$ http.post更改为$ http.jsonp。

  $scope.loadData = function () {
    var map_info = {
            'ApiKey': '1iVuQy3FGK39d51',
            'ProjectId': '11'
        };
    var url = "http://localhost:63411/api/clientportal/?action=mapjson";
    return $http.jsonp(url, map_info).then(function (response) {
        return response.data.MapData;
    });
};

它会转到URL,但请求正文为空。 由于我使用C#创建了API,因此'Request.InputStream'为空。

string jsonPosted = new StreamReader(Request.InputStream).ReadToEnd();

所以'jsonPosted'为空。

我确实试过Postman,它确实有效。但不是在Angular。

如何正确发送请求正文?

我希望'ApiKey'和'ProjectId'包含在Request Body中。

谢谢。

0 个答案:

没有答案