gpt4 book ai didi

javascript - $rootScope 函数中的返回对象 (AngularJS)

转载 作者:行者123 更新时间:2023-11-30 15:56:10 25 4
gpt4 key购买 nike

我试图从 AngularJS 中名为 retrieveUser() 的 $rootScope 函数返回一个对象。对象被返回。我已经在 $http 成功时运行的函数的响应上运行了 console.log() 。这是我的 $rootScope 函数:

    $rootScope.retrieveUser = function() {

var apiUrl = "http://104.251.218.29:8080";

if($cookies.get('tundraSessionString')) {

var cookie = $cookies.get('tundraSessionString');

$http({
method: "POST",
url: apiUrl + "/api/master/v1/auth/checkauth",
data: "sessionString=" + cookie,
headers: {
'Content-Type' : 'application/x-www-form-urlencoded;',
'Cache-Control': 'no-cache'
}
}).then(function mySuccess(response) {

if(response.data.event == "error") {

window.location = "/auth/logout";

} else {

return response.data;

}


})

} else {

window.location = "/auth/login";

}

};

使用这种方法,我在我的 Controller 中访问它(和 console.log() 只是为了测试我的工作):

vm.user = $rootScope.retrieveUser();
console.log($rootScope.retrieveUser());

但是,我还没有让它工作。我尝试在我的 $rootScope 函数中指定数组中的特定对象。我知道它会运行,因为我有 $rootScope 在它运行时控制一些东西,它显示 $http 请求响应的 console.log() 。它看起来像这样:

Object {event: "success", table: Object}
event:"success"
table:Object
__proto__:Object

然而,当我使用函数 $rootScope.retrieveUser() console.log() vm.user 时,即使该函数应该返回对象,我也只是收到“未定义”。

几天来我一直在努力解决这个问题,阅读了一些关于函数/对象的文章,但我仍然无法弄清楚。我们已经两天了。

最佳答案

试试这个:

        if($cookies.get('tundraSessionString')) {

var cookie = $cookies.get('tundraSessionString');

//return a promise
return $http({
method: "POST",
url: apiUrl + "/api/master/v1/auth/checkauth",
data: "sessionString=" + cookie,
headers: {
'Content-Type' : 'application/x-www-form-urlencoded;',
'Cache-Control': 'no-cache'
}
}).then(function mySuccess(response) {

if(response.data.event == "error") {

window.location = "/auth/logout";

}
else {

return response.data;

}


})

}
else {

window.location = "/auth/login";

}

$rootScope.retrieveUser().then(function(user){vm.user = user;})

关于javascript - $rootScope 函数中的返回对象 (AngularJS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38491556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com