Php 对api2成功进行http调用后,将再次调用$http.get(api)
我是AngularJS的新手(1.6中完成的教程很少),希望了解控制器中使用$http变量的API调用。 我有一个API,它提供关于所有用户的JSON信息(比如/API/users),还有一个API,它为给定id(比如/API/user/id)提供给定用户的详细信息。 现在,我尝试使用函数调用getUserDetails为/users页面中的每个用户创建一个指向/user/id页面的链接 问题:我无法在/user/id页面中看到用户数据,但/users加载正常 问题:如果我使用chrome调试器,我发现/users http调用工作正常。事实上,单击任何用户链接也会在第11行命中调试器语句,但稍后,它还会在第5行命中调试器Php 对api2成功进行http调用后,将再次调用$http.get(api),php,angularjs,Php,Angularjs,我是AngularJS的新手(1.6中完成的教程很少),希望了解控制器中使用$http变量的API调用。 我有一个API,它提供关于所有用户的JSON信息(比如/API/users),还有一个API,它为给定id(比如/API/user/id)提供给定用户的详细信息。 现在,我尝试使用函数调用getUserDetails为/users页面中的每个用户创建一个指向/user/id页面的链接 问题:我无法在/user/id页面中看到用户数据,但/users加载正常 问题:如果我使用chrome调试器
谢谢大家! 我不知道你为什么需要
href=“/user/{{{user.id}}”
,它将转到user/5
路径。如果目标是转到此路由,您应该将该路由的控制器与其内部分开,调用$http.get('/api/user/'+id)
,其中id
您可以从$routeParams
($routeParams.id
)获取,例如,如果您使用angularjs路由器或$stateParams
($stateParams.id
)如果你使用UI路由器。如何加载userdetails.htm
?目前laravel为我加载userdetails.htm。根据您的建议,让我尝试使用UI路由器/Angular JS路由器。非常感谢您的快速回复和建议。:)
{% raw %}
<div ng-controller="UserController">
<div ng-repeat="user in users">
<h3><a href="/user/{{ user.id }}" ng-click="getUserDetails(user.id)">{{ user.name }}</a></h3>
<!-- userdetails.htm is called with this -->
</div>
</div>
{% endraw %}
{% put scripts %}
<script src="{{ 'assets/javascript/UserController.js'|theme}}"></script>
{% endput %}
{% raw %}
<div ng-controller="UserController">
<h3>{{ user.name }}</h3>
<!-- Some more user information here-->
</div>
{% endraw %}
{% put scripts %}
<script src="{{ 'assets/javascript/UserController.js'|theme}}"></script>
{% endput %}
app.controller("UserController", ['$scope', '$http', '$log', function ($scope, $http, $log) {
var userCtrlScope = $scope;
$http.get('/api/users').then(function(data){
debugger;
userCtrlScope.users = data;
});
userCtrlScope.getUserDetails = function(id){
$http.get('/api/user/' + id).then(function(data) {
debugger;
userCtrlScope.user = data;
});
};
}]);