javascript - 代码 : "ER_BAD_FIELD_ERROR", errno : 1054, sqlState : "42S22", 索引:0 MySQL/Angular/Sessions

标签 javascript html mysql angularjs session

在我的登录页面上:

<div ng-include="'partials/navbar'"></div>

<form name="form"
      ng-submit="login(form)">

    <div>
        <input type="text"  
               placeholder="Email"
               name="username"
               ng-model="user.username"
               required>
    </div>

    <div>
        <input type="password"
               placeholder="Password"
               name="password"
               ng-model="user.password"
               required>      
    </div>

    <button type="submit"> Submit </button>

</form>

提交后,login(form) 在此处执行(在登录 Controller 中):

var app = angular.module('groundup');

app.controller('LoginCtrl', function ($scope, $location, Auth) {
  $scope.user = {};

  $scope.login = function(form) {
      Auth.login('my secret', {
          'username': $scope.user.username,
          'password': $scope.user.password
        },
        function(err) {
          if(err)
            console.log(err);
        }
      );
  };
});

然后,调用 Auth.login 执行以下代码:

'use strict';

angular.module('groundup')
  .factory('Auth', function Auth($location, $rootScope, Session, User, $cookieStore) {
    $rootScope.currentUser = $cookieStore.get('user') || null;
    $cookieStore.remove('user');
    $rootScope.currentUserSignedIn;

    return {

      login: function(provider, user, callback) {
        var cb = callback || angular.noop;
        //console.log(user);
        Session.save({
          provider: provider,
          username: user.username,
          password: user.password,
          rememberMe: user.rememberMe
        }, function(user) {
          console.log(user);
          $rootScope.currentUser = user;
          $rootScope.currentUserSignedIn = true;
          return cb();
        }, function(err) {
          console.log(err);
          return cb(err.data);
        });
      },

上面的代码是抛出错误的地方 - 它在生成 POST 请求时遇到问题 - 并抛出错误:

code: "ER_BAD_FIELD_ERROR", errno: 1054, sqlState: "42S22", index: 0

我假设它与我的 Session.save 方法有关 - 该方法对 /auth/session 进行 POST 调用(post 调用最终是错误请求)。这是我的快速路线,以防有帮助,但我认为该错误与我试图存储信息的变量名称有关,然后传递给护照登录策略:

app.post('/auth/session', session.login);

在另一个文件中(session.login 的引用):

/**
 *  Login
 *  requires: {email, password}
 */
exports.login = function (req, res, next) {
  passport.authenticate('local-login', function(err, user, info) {
    console.log(user);
    var error = err || info;
    if (error) { return res.json(400, error); }
    req.logIn(user, function(err) {
      if (err) { return res.send(err); }
      res.json(req.user.user_info);
    });
    //console.log(req.user);
  })(req, res, next);
}

这就是整个流程 - 如果有人可以提供帮助,我将不胜感激。它将信息存储为 session - 所以我认为它与数据库中 MySQL 字段的名称没有太大关系,因为我没有将 session 存储在数据库中(如果我错了,请纠正我) 。我还有两个问题 - user.rememberMeprovider:provider 的用途是什么?谢谢!我尝试将它们从 session 中保存的对象中取出,但没有帮助 - 但我仍然不确定它们的用途。

最佳答案

当我检查用户登录时是否存在时,这与错误的字段名称有关。错误在于我本地的护照策略。只是另一个愚蠢的:)。

关于javascript - 代码 : "ER_BAD_FIELD_ERROR", errno : 1054, sqlState : "42S22", 索引:0 MySQL/Angular/Sessions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23982281/

相关文章:

html - 减少宽度时保持内容居中

html - 删除 ul 之间的空格

mysql - 有什么好的关系数据库教程吗?

javascript - 如何避免 JavaScript 中的全局变量?

Javascript类型检查我做对了吗?

html - 使用类应用的样式不起作用但样式属性有效

mysql - #1109 - 字段列表中的未知表 'ConcertDetails'

javascript - 发现 js php 加载/执行问题

javascript - 如何使用 javascript 制作菜单来动态更改网站上的内容

php - for inside for loop php不适用于两个表