javascript - Angular Http Get 始终为 ng-click 返回状态 0

标签 javascript json angularjs

我一直在尝试让它工作,从概念上讲,只需单击标签,它就会调用返回 JSON 结果的 REST 服务,我在其中获取国家/地区名称并将其显示为测试。 我正在使用 Angular 。

每次我单击它都会返回状态 0。 相信这就是 plnker http://plnkr.co/edit/k3Z6Ufi734oYE4ciVJs8

这是 HTML 没什么大不了的,只需通过 ng-click 调用 GetInfo 函数

<!DOCTYPE html>
<html ng-app="mainModule">
<!--http://plnkr.co/edit/k3Z6Ufi734oYE4ciVJs8-->
  <head>
    <meta charset="utf-8" />
    <title>AngularJS Plunker</title>    
    <link href="style.css" rel="stylesheet" />
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
    <script src="app.js"></script>
  </head>

  <body ng-controller="MainCtrl">
    <p>Hello {{name}}!</p>

        <div><b ng-click="GetInfo()">Click Me</b></div>

    <b>{{AdditionalInfo.geobytescountry}}</b>
  </body>

</html>

这是 Angular 后端。

var app = angular.module('mainModule', []);

app.controller('MainCtrl', function($scope, $http) {
  $scope.name = 'World';

  var cityDetailsUrl = "http://gd.geobytes.com/GetCityDetails?callback=?&fqcn=new%20york,%20NY,%20United%20States";

   $scope.AdditionalInfo =  {};

   $scope.GetInfo =  function ()
   {
       $http.get(cityDetailsUrl)
              .success(function(data, status, header, config){
                      console.log('ok'); 
                      $scope.AdditionalInfo = data; 
                      console.log(data);})
              .error(function(data, status, header, config){
                      console.log('error'); 
                      $scope.AdditionalInfo = data; 
                      console.log(status);});
   }


});

当我在网络浏览器中尝试 id 时,提供的链接应该会产生 JSON 响应。 类似于此 "geobytesinternet":"US","geobytescountry":"美国"

最佳答案

在您的 Plunker 示例中,这似乎是两个问题。

首先,您似乎想使用 JSONP,因此您应该使用 $http.jsonp 而不是 $http.get ,简单的 $http.get 将因违反同源策略而失败。

另一个问题是,您的 URL 应该具有属性 callback=JSON_CALLBACK 而不是 callback=? 才能使 JSONP 正常工作。解决这两个问题后,代码似乎可以正常工作。

查看 Plunker 的编辑版本:http://plnkr.co/edit/SYB9TI29MOHfNPw1jjQT

关于javascript - Angular Http Get 始终为 ng-click 返回状态 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19990394/

相关文章:

javascript - jQuery 更改函数第一次起作用

javascript - 刷新数据表错误

javascript - 如何获取 Angular js 表达式以考虑来自 api 的 css 值并将其应用于其卡片

javascript - 如何使用按钮执行 ng-include ?

php - 使用 Angular.js 的 HTTP POST

javascript - 如何从字符串中分离字符串字符和数学字符

javascript - 异步 node.js 代码(使用 Q)不写入标准错误

javascript - 我不懂 JSON。需要一些帮助来清理一些事情

javascript - AngularJS - 如何在非单页应用程序中从干净的 URL 读取 URL 参数