[英]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.