2014-09-10 63 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