1

我有一个简单的 Ajax 请求,如下所示:

   $.ajax({
        type: "POST",
        url:  "/admin.html",
        data: dataString,
        success: function(data) {
          if(data.error) {
            $('#alertt').text(data.error);
            $('#alertt').show();
            $('#alertt').fadeIn().delay(2000).fadeOut('slow');
          } else if (data.success) {
            var lati = $('#route_latitude').val();
            var longi = $('#route_longitude').val();
            increment();
            setMarker(lati, longi);
            $('#alertt').text(data.success);
            $('#alertt').show();
            $('#alertt').fadeIn().delay(2000).fadeOut('slow');
          }
        },
        error: function(jqXHR, textStatus, errorThrown) {
          console.log(textStatus + " " + errorThrown)
        }
      })

问题是,如果用户在网页上登录,那么它会(pending)等待大约 5 分钟然后500出现错误,我不确定这是为什么,我正在使用Express v3,这基本上是请求的方式:

var isAdmin = function(req, res, next) {
  helper.isAdmin(req, res, next);
}
app.post('/admin.html', isAdmin, admin.new);



exports.isAdmin = function(req, res, next) {
  db.users.find({'rememberToken': req.cookies.rememberToken}, function(err, foundUser) {
    if (err) { console.log('We have an error' + err) } else {

      if (foundUser.length === 0) {
        console.log('Somebody attempted to view the Admin page without an account.')
        res.render('index', { 'title': 'Home Page'})
      } else if (foundUser[0].admin === 0) {
          console.log('A non-admin user account tried to log into the Admin page: ' + foundUser[0].email);
          res.render('index', { 'title': 'Home Page' });
      } else if (foundUser[0].rememberToken === req.cookies.rememberToken) {
        console.log('Admin viewing Admin page.');
          next();
      }
    }
  })
}

我真的看不出有什么问题,但由于某种原因,它只是存在,(pending)但如果我在没有设置 cookie 的情况下未登录,(isAdmin function从 中删除post)它可以工作。任何帮助都会很棒,这让我发疯了。

如果您对登录的处理方式感到好奇:https ://gist.github.com/anonymous/f458783ffdc45255f85d/raw/dd59d045b7fa76abc2dca458eea16702477c36d1/gistfile1.js

这实际上在 localhost 上完全按预期工作,但是当我将它推送到 Nodejitsu 时,它不起作用并且发生了这个问题。

4

0 回答 0