我正在Node.js中開發一個服務器應用程序。爲了更好地理解,我寫了一個非常簡單的代碼,以更好地指出我的問題。這是服務器端:Nodejs:服務器和客戶端之間的數據交換
Server.js
var express = require('express');
var app = express();
var port = process.env.PORT || 80;
var room = function(){
this.users = {};
this.counter = 0;
}
app.get('/reg',function(req,res){
console.log(req.params);
});
app.use('/recosh', express.static(__dirname + '/public/'));
app.listen(port, function(){console.log('ReCoSh Server Starts...\n');});
於是 「大衆」 的目錄,我寫中的兩個下面的客戶端文件:
room.js
var room = {
//notifica al server una nuova registrazione
register: function(data){
$.getJSON('/reg',data);
}
}
index.html
<!doctype html>
<html>
<head>
<script src="room.js"></script>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<script>
var register = function() {
room.register({
"username": $("#username").val(),
});
}
</script>
</head>
<body>
<div id="step1">
<input id="username">
<button onclick="register()">register</button>
</div>
</body>
</html>
的問題是,通過插入用戶名和點擊註冊,服務器上的代碼console.log(req.params);
只打印{}
。它似乎是空的...如果我嘗試console.log(req.params["username"])
它打印undefined
。
爲什麼這個簡單的對象是不可見的服務器?
感謝回答@Karlen。關於''標籤,我使用了「nickname」作爲id,但在'
'的腳本代碼中,我用這種方式寫了函數'register' room.register({「username」:$(「#nickname」 ).val()});}'。然而,我嘗試了你的建議,但仍然沒有workign「用戶添加」不顯示... – pittuzzo我看你已經接受了答案。希望你成功 – Karlen