2016-07-08 8 views
0

タグでreq.session.usernameが未定義になっているのはなぜですか?>>> DOESNT WORK < < < >>>これは仕事をする< < <です。私はreqをモジュールの引数として持ってきましたが、私は何か他のことをやろうとしていますか?/AJAXルートはAJAX呼び出しを介してアクセスされると、それは、このDOES WORK < < <が未定義です


//index.js file 

var express = require('express'); 
var router = express.Router(); 

var app = express(); 

var functions = require('../public/javascripts/functions.js'); 

router.post('/ajax', function(req, res , next){ 

    var username = req.param("username"); 
    var password = req.param("password"); 
    var operation = req.param("operation"); 

    else if (operation === "validate") 
    { 




     async.series([ 

      function() 
      { 

       functions.validate(username, password, req); 

      } 

     ], function(err,result) 
     { 

      if (err) 
       return console.log(err); 

      console.log(result); 

     }); 
     //req.session.username = "yaryar"; >>>THIS DOES WORK<<< 

    } 

    var strings = ["rad", "bla", "ska"] 

    console.log('body: ' + JSON.stringify(req.body)); 
    console.log("AJAX RECEIVED"); 
    res.send(strings); 
}); 

module.exports = router; 

functions.jsファイル>>>でセッション変数を設定しない:

module.exports = { 

    validate: function(username, password, req) { 

     var url = 'mongodb://localhost'; 
     var MongoClient = require('mongodb').MongoClient; 
     var assert = require('assert'); 
     var ObjectId = require('mongodb').ObjectID; 

     MongoClient.connect(url, function(err, db) 
     { 
      assert.equal(null, err); 
      console.log("Connected correctly to server."); 

      var cursor = db.collection('users').find({username : username}); 

      cursor.each(function(err,doc,req) 
      { 

       assert.equal(err, null); 

       if (doc != null) 
       { 
         console.log("user found: " + doc.username); 

           req.session.username = "ttyy"; // >>>DOESNT WORK<<< 
           return true 

       } 
       else 
       { 
         console.log("user not found"); 
         return false; 
       } 
      }); 
       //db.close(); 
     }); 
    }  
}; 

答えて

0

cursor.each(function(err,doc,req)を変更して上書きすると、cursor.each(function(err,doc,arr)に変更され、動作します

関連する問題