首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby on rails - AngularJs可能未经处理的引用-原因:未经授权,无凭据

Ruby on rails - AngularJs可能未经处理的引用-原因:未经授权,无凭据
EN

Stack Overflow用户
提问于 2017-01-26 22:53:54
回答 2查看 403关注 0票数 0

我对发生在我身上的这个问题一无所知。我进入的任何页面都会在我的js控制台中得到这个错误:

代码语言:javascript
复制
Possibly unhandled rejection: {"reason":"unauthorized","errors":["No credentials"]}

我最近安装了Devise-token-auth和Ng-token-auth (我真的很不开心,哈哈)来处理身份验证。但是我找不到我做错了什么,我想是我的ruby配置出了问题。有人知道会是什么吗?

我知道这不是太多的信息,但我完全迷失了。如果你还需要什么,请告诉我。

编辑:出现这个错误是因为我还没有登录我的api...但在我的网站上,有几个地方用户不需要登录。我该如何处理这种行为?(例如:在我的登录页面中,不应期望用户已经登录...)

EN

回答 2

Stack Overflow用户

发布于 2017-01-26 23:55:05

过了一段时间,我想通了。Ng-token-auth有一个自动验证,如果用户登录,它会检查每个加载页面。我已经像这样更改了配置:

代码语言:javascript
复制
app.config(function($authProvider) {
       $authProvider.configure({
           apiUrl: 'http://localhost:3000/api/v1',
           validateOnPageLoad: false <-----
       });
   });
票数 1
EN

Stack Overflow用户

发布于 2017-01-26 23:06:25

当你的应用程序中有一个未处理的承诺拒绝时,AngularJS会向你显示类似这样的错误。这可能在您的代码中,或者在您的代码中使用过的库中。一个快速的谷歌搜索结果表明,当用户升级到Angular v1.5.9时,他们开始面对这个问题。

要解决这个问题,您需要处理promise rejections。例如,您可以使用$http服务执行此操作,如下所示:

代码语言:javascript
复制
$http({ ... })
  .then(function() {
    // .. code here for promise resolve ..
  }, function() {
    // .. code here for promise reject ..
  });

你代码要做的另一件事是配置你的应用程序来完全禁用这个错误。

代码语言:javascript
复制
app.config(function($qProvider) {
  $qProvider.errorOnUnhandledRejections(false);
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41876231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档