我正在尝试从一个控制器以角度向 php 文件发送请求并获得响应。我将响应存储在 rootScope 变量中,该变量在 controller.run() 方法中初始化为 0。
现在我试图在另一个控制器中使用更新的 rootScope 以显示来自 php 页面的响应。但是 rootScope 没有更新,它仍然显示 0。
这是我的代码。
下面是初始化rootScope的run方法
adminController.run(function ($rootScope) {
$rootScope.n = 0;
});
以下是控制器 1 的代码,我在其中请求来自 php 页面的响应并更新 rootScope 变量。
adminController.controller('adminLoginController', function($scope,$rootScope,$http,$window) {
$scope.loginCheck = function(event,user){
var request = $http({
method: "post",
url: "../_/php/loginCheck.php",
headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
});
request.success(function (data) {
$rootScope.n=data;
$rootScope.$apply();
$window.location.href = 'admin.html#admin_home';
});
}
});
这是我使用 rootScope 变量的第二个控制器的代码。问题来了,因为 rootScope 没有得到更新并且只向我显示它初始化的 0。
adminController.controller('adminHomeController', function($scope,$rootScope,$http,$window) {
$scope.uname=$rootScope.n;
alert($scope.uname);
});
有人可以让我知道我哪里出错了。