gpt4 book ai didi

javascript - '类型错误: undefined is not a function' when pulling json data from the github api in Angular?

转载 作者:行者123 更新时间:2023-12-02 17:02:27 25 4
gpt4 key购买 nike

我正在开发一个单页 Angular 应用程序,并尝试从 github api 中提取数据,该 api 可以通过以下方式访问我的 github 数据: https://api.github.com/users/payam10

我收到错误:“TypeError:未定义不是函数”

我想做的就是取出我的登录用户名“payam10”并将其放置在 h1 html 元素中。请参阅下面的代码

<html ng-app="myapp">
<head>
<title>Angular</title>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
</head>
<body>
<div ng-controller="githubController">
<h1>{{ user.name }}</h1>
</div>

<script>
var myapp = angular.module('myapp', []);

myapp.controller('githubController', ['$scope', '$http', function($scope, $http) {

$scope.user = {}

$scope.user.name = '';

return $http.jsonp
.get('http://api.github.com/users/payam10')
.success(function (data, status, headers, config) {
// successful data retrieval
$scope.user.name = data.login
})
.error(function (data, status, headers, config) {
// successful data retrieval
$scope.user.name = "Sorry, we were unable to retieve your data."
})

}]);

</script>

最佳答案

您的代码有错误:

$http.jsonp.get('url')... 应该是 $http.jsonp('url')...

在回调中,您应该分配 $scope.user = data.data 来获取完整的对象。

请注意 data.data,因为当指定回调时,GitHub API 似乎将其 json 包装在另一层中。

使用 JSONP,您还必须在 url 中定义回调(我以为 Angular 会自动执行此操作,但事实并非如此):

http://api.github.com/users/payam10?callback=JSON_CALLBACK

JSFiddle

关于javascript - '类型错误: undefined is not a function' when pulling json data from the github api in Angular?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25579064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com