我正在尝试使用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”错误。
然后,我从互联网上搜索这个错误,我提出了一个解决方案,将$ 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中。
谢谢。