gpt4 book ai didi

javascript - 根据返回响应设置范围

转载 作者:行者123 更新时间:2023-12-03 06:15:57 24 4
gpt4 key购买 nike

//html View

<div class="error" ng-show="error && error !== 'timeout' && !reset">Login failed</div>

在 js Controller 文件中,我有一些逻辑,基本上执行 POST ajax 请求,然后返回响应,如果登录不成功,我想显示上面的“错误”div。

//js文件

LoginService.prototype.signIn = function(email, password) {
var url = $rootScope.rootDomain + '/user/login/new-ui';
var extraParams = { callback: 'JSON_CALLBACK', email: email, password: password };
$http({
url : url,
method : 'POST',
data : $.param(extraParams),
headers : { 'Content-Type' : 'application/x-www-form-urlencoded' }
})
.then(function(data) {
$localStorage.$reset();
// get ajax response and if success is 0 then login failed, show a hidden div
if ( data.data.success == 0 ) {
$rootScope.error = true;
return;
}

任何人都可以建议我的 javascript/Angular 文件中有什么问题吗?

最佳答案

你的声誉非常高,远远高于我的,所以我不应该向你讲授关注点分离,但是,看起来你的服务中有逻辑(LoginService?),这确实应该属于 Controller 。要么是这个,要么是这个命名让我失望。我也不明白你为什么要使用原型(prototype)。这样做的目的是什么?

此外,即使菜鸟也知道不要在 $rootScope 上设置属性。所以,我假设你已经知道所有这些,并且这个例子是那些奇怪的一次性例子之一,其中上是下,左是右,你只需要让它工作......

看起来您需要在模板中正确引用 $rootScope:

<div class="error" ng-show="$root.error && $root.error !== 'timeout' && !reset">Login failed</div>

这不是一个错字。在模板中,您可以使用 $root 访问 $rootScope。当我第一次看到它时,这让我大吃一惊。另外,我看不到 reset 的定义位置,因此我假设它对示例来说并不重要。

关于javascript - 根据返回响应设置范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39101579/

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