【问题标题】:How to use res.send() in Node.js如何在 Node.js 中使用 res.send()
【发布时间】:2014-10-12 01:28:51
【问题描述】:

我在 Node.js/Express 应用程序中使用 mongoose api。我在客户端有一个获取请求,要求提供一些数据,但由于某种原因,数据永远不会到达客户端。怎么了?

后端片段

app.get('/up', isLoggedIn, function(req,res){
    req.user.local.level = 2;
    req.user.save(function(err){
        res.send(req.user.local.level);
    });

});

前端片段

function try(){
    var ks=1;
    if(true){
            $.get('/up', function(data){
                ks=data;    
            });
        }
        console.log(ks);
    }

服务器控制台显示2,浏览器控制台还是显示1,怎么回事?

编辑
我接受了你的建议,但它仍然行不通。我做错了什么?

var ks=1;
if(true){
    jQuery.ajax({
         url:    '/up' ,
         async:   false,
         success: function(data) {
                    ks = data;
                    console.log(ks);
                  }

    });
    }

【问题讨论】:

标签: javascript node.js express get mongoose


【解决方案1】:
    console.log(ks);

该代码在您发送请求后立即运行,在响应到达之前。

【讨论】:

  • 你会建议我在回调函数中做console.log(data)吗?
  • @idude:是的;您不能在响应到达之前使用它。如果您需要返回它,请使用承诺。
  • 无论我在回调函数中输入什么,似乎都被忽略了
猜你喜欢
  • 2011-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-25
  • 1970-01-01
  • 2023-03-25
  • 2020-05-13
相关资源
最近更新 更多