2014-09-10 97 views
-2

我有下面的代碼:http.get不能在angularjs中工作?

<!DOCTYPE html> 
<html> 

<body> 

<div ng-app=""> 
    <p>Name: <input type="text" ng-model="name"></p> 
    <p ng-bind="name">{{$http.get('https://api.themoviedb.org/3/movie/now_playing?api_key=b4e5192d902f5add71f4a431c004d734').success(successCallback);}}</p> 
</div> 

<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script> 
<script> 
$http.get('https://api.themoviedb.org/3/movie/now_playing?api_key=b4e5192d902f5add71f4a431c004d734').success(successCallback: 'JSON_CALLBACK'); 
</script> 
</body> 
</html> 

但它不返回任何東西,我怎麼做,所以我至少可以只顯示API中的一切?我想將它分配給一個變量,並能夠爆炸它進行操作。

回答

0

您需要先定義一個應用程序和一個控制器,並在其中調用$ http。在你的HTML中,你可以顯示傳入回調的數據。類似這樣的:

<!DOCTYPE html> 
<html> 

<body> 

<div ng-app="App" ng-controller="Ctrl"> 
    <p>Name: <input type="text" ng-model="name"></p> 
    <p>{{ data }}</p> 
</div> 

<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script> 
<script> 
angular.module('App', []). 
controller('Ctrl', function($scope, $http) { 
    $http.get('https://api.themoviedb.org/3/movie/now_playing?api_key=b4e5192d902f5add71f4a431c004d734').success(function(data) { 
     $scope.data = data; 
    }); 
}); 
</script> 
</body> 
</html> 
0

您的$http.get調用中有語法錯誤。 .success中的選項需要用花括號包圍,因爲它們是一個對象。

另外,您在嘗試使用$http之前,它已被定義。

0

http調用應該在控制器中進行。 Angular服務不能直接在html中或直接在腳本塊中訪問。我敢肯定,如果你檢查了控制檯窗口,你會發現至少有一些錯誤在你放在這裏。

基本上,當返回數據時,控制器可以將返回的數據分配到作用域上的變量上。

我會猜測你的新角度,在這種情況下,有很多很棒的資源在線指導你做這些第一步的基本步驟。結帳https://egghead.io/articles/new-to-angularjs-start-learning-here