我正在使用angularjs来检索召唤者信息,但仅检索特定字段(例如,仅召唤者名称,仅ID)。我正在尝试使用console.log()检查是否获得正确的结果。但是,我一直在控制台屏幕上看到此信息:

错误:[$ resource:badcfg] http://errors.angularjs.org/1.4.4/ $ resource / badcfg?p0 = query&p1 = array&p2 = obj…2Fna.api.pvp.net%2Fapi%2Flol%2Fna%2Fv1.4%2Fsummoner%2Fby-name%2Fsummoner-名称
    错误(本机)
    在http://localhost/riotapi_project/angularjs/angular.min.js:6:416
    在d.module.provider。$ get.e。(匿名函数).q.then.p。$ resolved(http://localhost/riotapi_project/angularjs/angular-resource.min.js:9:330
    在http://localhost/riotapi_project/angularjs/angular.min.js:118:217
    在n。$ get.n. $ eval(http://localhost/riotapi_project/angularjs/angular.min.js:133:39
    在n。$ get.n. $ digest(http://localhost/riotapi_project/angularjs/angular.min.js:130:60
    在n。$ get.n. $ apply(http://localhost/riotapi_project/angularjs/angular.min.js:133:330
    在g(http://localhost/riotapi_project/angularjs/angular.min.js:87:340
    在K(http://localhost/riotapi_project/angularjs/angular.min.js:91:406
    在XMLHttpRequest.A.onload(http://localhost/riotapi_project/angularjs/angular.min.js:92:437

这是我的代码:
index.html
///////////////////////////////////////////////////// ///////////////////////////////////////////////////// ////////////////////////////



<!doctype html>
<html lang="en" ng-app="riotApiApp">
<head>
  <meta charset="utf-8">
  <title>Angular JS Controller</title>
  <script src="angularjs/angular.min.js"></script>
  <script src="angularjs/angular-resource.min.js"></script>
  <script src="api_call.js"></script>
</head>
<!-- <body ng-controller="getSummonerbyName"> -->
<body>
<div ng-controller="getSummonerbyName">
	First Name: <input type="text" ng-model="summonerName"><br>
	  <ul ng-repeat="post in posts">
		<li>
			{{post}}
		</li>
		<!-- <div ng-controller="alternateSummonerRetrieve"> ng-model={{post.id}}></div> -->
	  </ul>
</div>


</body>
</html>





///////////////////////////////////////////////////// ///////////////////////////////////////////////////// ////////////////////////////

api_call.js

///////////////////////////////////////////////////// ///////////////////////////////////////////////////// ////////////////////////////



var riotApiApp = angular.module('riotApiApp', ['ngResource']);

riotApiApp.controller('getSummonerbyName', function($scope, $http, $resource) {

	$scope.$watch('summonerName', function (tmpStr) {
		if (!tmpStr || tmpStr.length == 0)
			return 0;
		setTimeout(function() {

			if (tmpStr === $scope.summonerName)
			{
				var src = $resource('https://na.api.pvp.net/api/lol/na/v1.4/summoner/by-name/:verb', {verb:$scope.summonerName, api_key:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx'}, {retrieve: {method: 'GET', isArray: true}});
				var user = src.query({}, function() {

				});
				console.log(user);

			}
		}, 1000);
	});





///////////////////////////////////////////////////// ///////////////////////////////////////////////////// ////////////////////////////

谁能告诉我我在做什么错?

最佳答案

您不应使用AngularJS之类的前端框架来调用Riot Games API,因为这会将API密钥暴露给用户。

您将需要在服务器端调用Riot Games API,并让您的客户端从服务器请求数据。

10-07 12:56
查看更多