javascript - 如何在其他地方使用 $http.get 的响应

标签 javascript angularjs

我想在同一的另一个地方使用$http.getreponse.data(JSON数据) Controller 但是当尝试时:

            $http({
                method:"post",
                url:"php/home/item.php/?proc=3",
                data:{
                    'item_id':json[i].item_id
                }
            }).then(function (response) {
                $scope.data = response.data;    // or $rootScope
                $scope.data = response.data;
                console.log("after get response : "+$scope.data.length);
            });
            console.log("befor get response : "+$scope.data.length); //  undefined

如何在收到 $http.get响应推迟一些指令

最佳答案

您传递给 then 的函数是您将执行推迟到收到响应之后的方式。这不仅仅是代码中的范围或位置问题,还是时间问题。您可以从该响应函数中调用其他函数,并传递响应——这是您可以从 Controller 中的其他位置访问响应并确保在收到响应后执行代码的唯一方法。

关于javascript - 如何在其他地方使用 $http.get 的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49722590/

相关文章:

javascript - 我正在尝试将变量的值存储在 window.onload 上以供以后使用

angularjs - 从 CDN 拉取 Angular 时,如何阻止 Angular 加载 .angular.min.js.map 文件?

javascript - 选择选项时显示 div 标签 | Angular 1

javascript - 使用 Function.prototype.bind.apply(Obj, args) 将参数传递给对象,仅传递第一个元素

javascript - 如何让 jquery 在循环中的每个 ajax 调用后立即追加输出

javascript - 在 JQuery AJAX 调用完成之前停止加载网页?

javascript - 在 Controller 外更新 Angular 模型

angularjs - 如何在 angularJs 中使用 onClick?

angularjs - angularjs可以直接连接mongodb吗?

javascript - 在 JavaScript 中定义函数的参数列表