在javascript中在客户端调用服务器端变量

在javascript中在客户端调用服务器端变量,javascript,mongodb,Javascript,Mongodb,我有一个javascript程序,可以找到用户,然后在服务器端返回其_id。在客户端有可能做同样的事情吗?或者在客户端调用服务器端变量而不使用jquery?这是我的密码: router.post('/', function (req, res) { var post = req.body; var query = User.where({userName : post.username}); query.findOne(function(err, user){ if (err) { re

我有一个javascript程序,可以找到用户,然后在服务器端返回其_id。在客户端有可能做同样的事情吗?或者在客户端调用服务器端变量而不使用jquery?这是我的密码:

router.post('/', function (req, res) {
var post = req.body;
var query = User.where({userName : post.username});
query.findOne(function(err, user){
    if (err) { return err}
    if (user) {
        user.isValidPassword(post.password, function(n, isMatch){
            if(isMatch) {
                req.session.user_id = user._id;
                res.redirect('/library?' + user._id);
            } else{

                res.redirect('/login');
            }
        });
    }else{
        res.redirect('/login');
        }
    });
});
我在客户端做了一个函数,但我不知道为什么它只需要我拥有的第一个用户

function find2(){
var User = model.users[0]._id;
console.log(User);
}

我特别想在客户端调用变量user.\u id(如您所见,这是服务器端)。有办法吗?谢谢:)

我不知道使用JS远程调用MongoDb的能力,但是您可以使用服务器端JS(例如node.JS),它将从MongoDb获取数据,并作为AJAX响应的一部分在客户端以JSON的形式返回

一些JS框架(例如meteor.JS)可以对您隐藏这项工作

以下是我的项目中的一个示例:

服务器端(node.js):


好的。。。等待如果我理解,您正试图从路径中获取一个参数,对吗?在客户端,您可以执行以下操作:

function find2(){
    var User = window.location.href;
    var type = User.substr(User.indexOf("?")+1, User.length);
    console.log(type);
}

对于像localhost:3000/library?dsds658dad这样的链接,它会精确地打印ds658dad

基本上我想将其存储在客户端的变量中。我不太明白你的回答很快,不-AJAX请求-响应-这是最好的方式。你发布的代码不足以做出准确的决定,但可能是你得到了唯一的第一个用户,因为你得到了数组
模型的第一个元素。用户[0]
没有模型。用户已经是我拥有的第一个用户。然后在数据和轨迹之间进行划分。So:用户-->数据;曲目-->[0]:用户名、姓、名;[1] :album、artist…或者可能是因为您的代码使用query.findOne()方法。无论如何,你必须提供更多的信息。您在服务器端和客户端使用哪些框架,如何从服务器端的mongodb获取数据,以及如何将数据传递到客户端。您有两种选择—要么在构建页面时将服务器变量嵌入HTML+JS响应中,要么根据需要从客户端发出AJAX请求以获取服务器变量。在我看来,后者是一个更好的方法。请参阅文档。是的,读了你的答案,我也有同样的想法
var requestGroupList = function(mode) {
            return $http.get("https://myhost/api/info/"+ mode)
                        .then(function(response) {
                            return response.data;
                        });
        };
function find2(){
    var User = window.location.href;
    var type = User.substr(User.indexOf("?")+1, User.length);
    console.log(type);
}