簡體   English   中英

AngularJS $ HTTP.json

[英]AngularJS $HTTP.json

我試圖從API中提取當前流的列表,並使用AngularJS迭代該信息。 當我將JSON數據直接放在js文件中時,Angular可以正常工作。 但是,當使用如下所示的http請求時,出現空白頁。 我搜索過很多東西,但是在將其應用於我的特定問題時遇到了麻煩。 任何幫助表示贊賞。 謝謝!

Http文件:

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
</head>
<body>
   <div ng-app="myApp" ng-controller="namesCtrl">
      <ul>
         <li ng-repeat="x in names">
            {{ x.game }}
         </li>
      </ul>
   </div>
<script src="repeat.js"></script>
</body>
</html>

Repeat.js

var app = angular.module('myApp', []);
app.controller('namesCtrl', function($scope, $http) {

$http.jsonp("https://api.twitch.tv/kraken/streams?json_callback=JSON_CALLBACK")
.success(function(response) {$scope.names = response.streams;});

});

https://api.twitch.tv/kraken/streams?json_callback=JSON_CALLBACK不是JSONP(它是純JSON)。

您需要一台可以進行JSONP響應的服務器,才能使用$http.jsonp()

好吧,使用$ http.get('url')確實可以。 我錯誤地認為“數據”對象是一個數組,並將“ [0]”傳遞給它是不正確的。 下面是代碼,它可以按照標記中的指示提取信息並重復數據。 謝謝你的幫助!

HTML:

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>

</head>
<body>

<div ng-app="myApp" ng-controller="namesCtrl">

<ul>
  <li ng-repeat="x in data.streams">
    {{ x.game }}
  </li>
</ul>

</div>

<script src="repeat.js"></script>

</body>
</html>

JS:

var app = angular.module('myApp', []);
app.controller('namesCtrl', function($scope, $http) {

$http.get('https://api.twitch.tv/kraken/streams?').success(
    function(data, status){
        $scope.data = data;
    });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM