Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 对api2成功进行http调用后,将再次调用$http.get(api)_Php_Angularjs - Fatal编程技术网

Php 对api2成功进行http调用后,将再次调用$http.get(api)

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调试器

我是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行命中调试器

  • 为什么这会进入第5行调试器(主要是因为我的“user”变量没有在html页面中获得)

  • 有什么解决办法吗?在第3行声明用户变量会有帮助吗?(我个人认为这不是正确的方法,所以没有尝试过)

  • 稍微在API的设计方面——假设我在/API/users-call中描述了所有用户。在这种情况下,如何修改控制器(和html),以便将特定的用户信息传递到新页面?是否建议采用这种方法
  • 约束:如果没有$scope变量,我无法加载它,因此任何涉及$scope的建议都会有所帮助。现在还需要“raw”标记来忽略PHP解析

    尝试搜索现有问题,但找不到太多信息。如果是因为缺少好的关键词,请告诉我任何有用的现有答案。:)

    下面是userlist.htm(显示所有用户的列表)


    谢谢大家!

    我不知道你为什么需要
    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;
            });
        };
    }]);