首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >除非我删除“”,否则登录不起作用。出自".config“

除非我删除“”,否则登录不起作用。出自".config“
EN

Stack Overflow用户
提问于 2017-06-04 05:22:49
回答 1查看 16关注 0票数 0

我的应用程序有问题。当我的app.js与下面的相同时,我收到一个错误警告,未定义,但如果我删除“。并将其保留为config,登录函数将正常工作并返回响应。我做错了什么?

app.js

代码语言:javascript
复制
angular.module('app',['angular-jwt','angular-storage', 'ngRoute', 'ui.router'])
    .config(function  ($stateProvider, $urlRouterProvider, jwtInterceptorProvider, $httpProvider) {
    $urlRouterProvider.otherwise('/');
    $stateProvider
        .state("login", {
            url:"/login",
            controller: "loginController",
            templateUrl: "login.html"
        })

        .state("signup", {
            url:"/signup",
            controller: "/Controllers/signupController",
            templateUrl: "register.html"
        });

    jwtInterceptorProvider.tokenGetter = function (store) {
        return store.get('jwt');
    };

    $httpProvider.interceptors.push('jwtInterceptor');

})
    .run(function($rootScope, $state, store, jwtHelper) {
    $rootScope.$on('$stateChangeStart', function(e, to) {
        if (to.data && to.data.requiresLogin) {
            if (!store.get('jwt') || jwtHelper.isTokenExpired(store.get('jwt'))) {
                e.preventDefault();
                $state.go('login');
            }
        }
    });
});

loginController.js

代码语言:javascript
复制
'use strict';

angular.module('app')
    .controller('loginController', function ($scope, $http, $state, store) {
    $scope.user = {};
    $scope.login = function() {
        $http({
            url: '',
            method: 'POST',
            data: $scope.user
        }).then(function(response) {
            console.log("res", response.data.token);
            store.set('jwt', response.data.token);
            var test1 = store.get('jwt');
            console.log("get", test1);
            //$state.go('login');
        }, function(error) {
            console.log();
            alert(error.data);
        });
    }
});

login.html

代码语言:javascript
复制
<body class="main" ng-app="app" ng-controller="loginController">
  <div class="form" data-ix="new-interaction-2">
    <label class="field-label" for="Name-2">Email</label>
      <input class="text-field-2 w-input" data-name="name" id="Name-2" maxlength="256" name="name" placeholder="Email" required="required" type="email" ng-model="user.email">
    <label for="Password-2">Password:</label>
      <input class="text-field w-input" data-name="Password" id="Password-2" maxlength="256" name="Password" placeholder="Password" required="required" type="password" ng-model="user.password">
  </div>
</div>

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js" type="text/javascript"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.4/angular.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/1.0.3/angular-ui-router.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-messages/1.6.4/angular-messages.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-storage/0.0.15/angular-storage.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular-route.js"></script>
    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular-resource.js" type="text/javascript"></script>
    <script src="/app.js"></script>
    <script src="/node_modules/angular-jwt/dist/angular-jwt.js"></script>
    <script src="/Controllers/loginController.js"></script>
    <script src="/Controllers/testController.js"></script>

我的文件结构

EN

回答 1

Stack Overflow用户

发布于 2017-06-04 06:03:52

修好了。我必须在app.js中将我的域列入白名单,方法是添加以下内容

代码语言:javascript
复制
jwtOptionsProvider.config({
    whiteListedDomains: ['api.api', 'localhost']
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44348667

复制
相关文章

相似问题

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