Javascript 如何使用API从AngularJS传递请求正文
我试图使用json使用API在AngularJS中检索Google地图上的数据 这是我在Angular中的代码:Javascript 如何使用API从AngularJS传递请求正文,javascript,c#,angularjs,json,Javascript,C#,Angularjs,Json,我试图使用json使用API在AngularJS中检索Google地图上的数据 这是我在Angular中的代码: $scope.loadData = function () { var map_info = { 'ApiKey': '1iVuQy3FGK39d51', 'ProjectId': '11' }; var url = "http://localhost:63411/api/clientportal
$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”是空的
string jsonPosted = new StreamReader(Request.InputStream).ReadToEnd();
我试过邮递员,效果不错。但不是在角度上
如何正确发送请求正文
我希望请求正文中包含“ApiKey”和“ProjectId”
谢谢。您的页面的URL是什么?该错误通常意味着应用程序的域、子域或端口与脚本中调用的URL不同。@nixkuroi:该URL不是api的URL。页面本身的url是什么。地址栏上的那个?