javascript - 我不断收到此错误 "angular.js:TypeError: Cannot read property ' 页未定义”

标签 javascript jquery angularjs

The error in console after console.log(data)

var app = angular.module("myApp", []).config(function($sceDelegateProvider) {
  $sceDelegateProvider.resourceUrlWhitelist(['**']);
});

app.controller("myCtrl",["$scope","$window", "$http",
    function($scope, $window, $http,) {

      //variable to get input
      var input = $('input');
      var search = $("#search");
      var form = $('form');

      //Function for random wiki article
      $scope.Random = function() {
          $window.open("https://en.wikipedia.org/wiki/Special:Random", "_blank");
    };


     //function for searching wiki article 
     $scope.search = function() {
       $scope.result = [];
       var title = input.val();
         var api = "https://en.wikipedia.org/w/api.php?format=json&action=query&generator=search&gsrnamespace=0&gsrlimit=10&prop=pageimages|extracts&pilimit=max&exintro&explaintext&exsentences=1&exlimit=max&gsrsearch=";
         //var cb = "&callback=JSON_CALLBACK";
         var page = "https://en.wikipedia.org/?curid=";
       $http.jsonp(api + title, {jsonpCallbackParam: 'callback'}).then(function(data) { var results = data.query.pages;
    console.log(data);            
      angular.forEach(results, function(v,k)  {
        $scope.results.push({title: v.title, body: v.extract, page: page + v.pageid})
      })
    });
   };
    }]);  

这是我的 Angular 脚本。我还使用 $scedelegateProvider 将 URL 列入白名单。它用于调用Wikipedia API。请帮我解决这个问题。

最佳答案

我已经进行了如下测试,结果很好。

代码

var title = 'Angularjs';
var api = 'https://en.wikipedia.org/w/api.php?format=json&action=query&generator=search&gsrnamespace=0&gsrlimit=10&prop=pageimages|extracts&pilimit=max&exintro&explaintext&exsentences=1&exlimit=max&gsrsearch=';

var url = $sce.trustAsResourceUrl(api+title);

$http.jsonp(url, {
    headers: {
        'Access-Control-Allow-Origin' : '*',     // add this
        'Content-Type': 'application/json'
    }
}).then(function(data) {
    console.log(data.data.query.pages);
});

控制台

enter image description here

试试这个。 :)

关于javascript - 我不断收到此错误 "angular.js:TypeError: Cannot read property ' 页未定义”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47467276/

相关文章:

javascript - 通过键列表获取嵌套键以按顺序排列

jquery - 将 Rails 应用加载到现有的 HTML5 页面中(使用 JQuery 或 iFrame)

javascript - 保存位置的可排序 Div

javascript - Javascript 对象数组文字的可靠长度?

jquery - 使用 JQuery,如何检查下拉菜单是否包含值?

javascript - 根据用户输入显示和隐藏 DIV

javascript - 如何在ckeditor中使用keyup

javascript - 如何在浏览器刷新时保持 ui-router 参数

javascript - ng-repeat 是否支持自身递归?

javascript - 如果已经打开导航,则打开并关闭或返回