我正在创建一个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"
}
]
答案 0 :(得分:1)
您是否在同一网址上运行API和$ http JS?如果不是(即使端口不同),则需要在api上启用CORS以允许跨域请求。请分享您拨打此电话时的回复。
谢谢你, 索马。