簡體   English   中英

將 ajax 值傳遞給 node.js 服務器中的變量

[英]Pass ajax value to a variable in node.js server

我有一個包含輸入數據的 ajax 獲取請求。 我想將此數據傳遞給一個變量並在我的查詢中使用它。

index.handlebars

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <input type="hidden" class="test" name="test" value="sample"/>
        <script type="text/javascript">
            $( document ).ready(function() {
                var username = $('.test').val();
                $.ajax({
                    type : 'GET',
                    url: '/users//welcome',
                    data : {
                        wew: username
                    }
                });
                alert(username); //correct output
            });
        </script>
    </body>
</html>

在我的用戶/歡迎

router.get('/welcome', ensureAuthenticated, function(req, res){

    var test = req.query.wew; //data from ajax request

    Item.find({username: test},function(err, docs, test){    
        //where username is the data
        console.log(test);
        res.render('welcome', {docs:docs});
    });
});

此代碼不起作用。 請幫忙:/

您可以使用socket.io 我將其用於瀏覽器和node.js服務器之間的雙向通信。

在客戶端,您可以執行以下操作:

function movePlayer () {
    socket.emit ('doSomethingServerSide', {numVal: 4, usrName: 'KaiserSolze'});
}

在服務器端,您將擁有:

//  A FUNCTION THAT LISTENS FOR A CALL FROM BROWSERS CONNECTED VIA SOCKET
 socket.on ('doSomethingServerSide', function (msg) {
   // THEN YOU COULD REPORT TO ALL BROWSERS / CLIENTS THAT SOMETHING WAS DONE
   io.sockets.emit ('reportToClients', msg);
 });

如果您決定走這條路,這里有很多文章可以幫助您開始使用socket.io。

嘗試使用http為您的網站提供完整的網址,並用一個替換雙(//)

  $.ajax({
                        type : 'GET',
                        url: 'http://<your application full url>/users/welcome',
                        data : {
                            wew: username
                        }
                    });

或者您可以嘗試以下

$.ajax({
           url: "/users/welcome?wew="+username,
           type: "GET",
           contentType: "application/json",
           dataType: "json",

});

var test = req.query.wew; //來自 ajax 請求的數據 -> 用這個改成這個: var test = req.body.wew 您還需要將正文解析器導入您的項目以獲取 req.body.keynames

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM