$ http get返回未找到,而直接请求工作正常

时间:2016-02-17 10:17:17

标签: javascript html angularjs

我正在尝试使用在ASP.net中编码的一个webAPI,但是当我尝试在浏览器控制台上使用angular $ http.get从该API获取数据时,我得到 GET< - URL - >找不到当我尝试直接向同一个URL发出请求时,它可以正常工作并将数据返回给我。我试图在ASP项目的Web.config中添加.json mimetype,但结果仍然相同。

工作网址为: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>

1 个答案:

答案 0 :(得分:2)

你的问题是:

  • 您没有正确设置请求的参数,您需要使用params属性
  • 执行此操作

代码应为:

 $http.get('https://adaba.azurewebsites.net/api/flights/searchairports',{
      params: {name: $scope.input}
 }).then(function (resp) {

见这里:http://codepen.io/anon/pen/OMGpqX

哦,请使用https://