【发布时间】:2016-05-28 23:38:01
【问题描述】:
我正在尝试使用一个在 ASP.net 中编码的 webAPI,但是当我尝试在浏览器控制台上使用 angular $http.get 从该 API 获取数据时,我得到 GET Not found 当我尝试直接向同一个 URL 发出请求时,它可以正常工作并向我返回数据。我尝试在 ASP 项目的 Web.config 中添加 .json mimetype,但结果仍然相同。
有效的 url 是:https://adaba.azurewebsites.net/api/flights/searchairports?name=london - 请注意,这是一个带有 必需参数的 GET 请求,因此您需要传递一个参数来获取某些内容。
这里可以直接执行来自这个Codepen的api请求:http://codepen.io/albpower/pen/mVgyNP
JS 文件:
var app = angular.module("APP",[]);
app.controller("appCtrl",function($http,$scope){
$scope.calculate = function(){
$http.get('http://adaba.azurewebsites.net/api/flights/searchairports',{
name: $scope.input
}).then(function (resp) {
console.log(resp);
$scope.response = resp;
});
}
})
HTML 文件:
<div ng-app="APP" ng-controller="appCtrl">
<input type="text" placeholder="amount" ng-model="input"><br><br>
<button ng-click="calculate()">Calculate</button>
<pre>
{{response | json}}
</pre>
</div>
【问题讨论】:
-
这可能是一个 cors 问题,请阅读:stackoverflow.com/questions/22546177/…
-
不是 CORS 问题:
Access-Control-Allow-Origin:*在响应标头中。 -
如果您的回调不起作用,请尝试使用
$q解决响应
标签: javascript html angularjs