$ http与AngularJS调用我的API无效

时间:2016-05-01 01:50:13

标签: angularjs asp.net-web-api

我正在创建一个Web应用程序。我创建了一个API,当我尝试从angular进行http get调用时,它失败了。我知道我的api有效,因为我已经在浏览器和Postman(在Chrome上)测试了它。另外,我知道我的代码很好,因为我通过将URL更改为githubs的api(https://api.github.com/users)来测试它,并且响应成功了。任何人都可以帮我弄清楚为什么如果两者都返回相同的(JSon对象的集合),对我的API的调用不起作用?

$http({
        method: 'GET',
        url:'http://localhost:63473/api/posts' // my api
        //url: 'https://api.github.com/users' // github api
    })
        .then(function (response) {

            // successful call
            angular.copy(response.data, viewModel.posts);
            alert("Good");

        }, function (error) {

            // call to api failed
            viewModel.errorMessage = "Failed to load posts: " + error;

        });

这是我来自邮递员的电话的回应

[
{
   "id": "6db78556-c4dc-4c7c-a969-db0d202f32fc",
   "text": "This is the second Post.",
   "postedOn": "2016-04-30T21:26:56.7886027-04:00"
},
{
   "id": "5c9d9e0b-0b23-4895-93ba-b86a36e03f84",
   "text": "Hello everyone, this is my first Post",
   "postedOn": "2016-04-30T21:26:56.7846017-04:00"
}
]

1 个答案:

答案 0 :(得分:1)

您是否在同一网址上运行API和$ http JS?如果不是(即使端口不同),则需要在api上启用CORS以允许跨域请求。请分享您拨打此电话时的回复。

谢谢你, 索马。