http.get在angularjs中不起作用?

时间:2014-09-10 22:17:53

标签: javascript angularjs http

我有以下代码:

<!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中的所有内容?我想将它分配给一个变量,并能够将其分解为操作。

3 个答案:

答案 0 :(得分:0)

您的$http.get电话中存在语法错误。 <{1}}内的选项需要用花括号括起来,因为它们是一个对象。

此外,您在尝试定义之前尝试使用.success

答案 1 :(得分: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>

答案 2 :(得分:0)

http调用应该在控制器中进行。角色服务不能直接在html中访问,也不能立即在脚本块中访问。我确定如果你检查了控制台窗口,你会看到至少有一些错误。

基本上,当返回数据时,控制器可以将返回的数据分配到范围上的变量上。

我想猜你的新角度,在这种情况下,网上有许多很棒的资源可以指导你完成这些基本步骤。结帐https://egghead.io/articles/new-to-angularjs-start-learning-here