Javascript 如何使用API从AngularJS传递请求正文

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

我试图使用json使用API在AngularJS中检索Google地图上的数据

这是我在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”是空的

string jsonPosted = new StreamReader(Request.InputStream).ReadToEnd();
我试过邮递员,效果不错。但不是在角度上

如何正确发送请求正文

我希望请求正文中包含“ApiKey”和“ProjectId”


谢谢。

您的页面的URL是什么?该错误通常意味着应用程序的域、子域或端口与脚本中调用的URL不同。@nixkuroi:该URL不是api的URL。页面本身的url是什么。地址栏上的那个?