http.get无法在angularjs中工作

http.get not working in angularjs?

本文关键字:angularjs 工作 get http      更新时间:2023-09-26

我得到了以下代码:

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

您需要首先定义一个应用程序和一个控制器,并在其中调用$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>

$http.get调用中出现语法错误。.success内部的选项需要用大括号括起来,因为它们是一个对象。

此外,您正在尝试在定义$http之前使用它。

http调用应该在控制器中进行。角度服务不能在html中直接访问,也不能在脚本块中立即访问。我相信,如果你检查控制台窗口,你会在这里看到至少几个错误。

基本上,当返回数据时,控制器可以将返回的数据分配给作用域上的变量。

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