我的目的是将一个 JSON 对象从客户端发送到服务器。因此,请考虑客户的以下详细信息:
<script>
var onClickFunct = function() {
trial1.send({
"test": $("#input_test").val(),
});
}
</script>
其中 input_test 是我在 html 页面中的标记的名称。 其中 Trial1 是通过以下代码实现的:
var trial1 = {
//notifica al server una nuova registrazione
send: function(data){
$.getJSON('/tst',data);
}
}
我的服务器看不到该对象;事实上,如果我打印 req.params 它会显示“未定义”。
app.get('/tst',function(req){
console.log(req.params);
});
我的index.html需要以下脚本<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
而服务器只需要express
最佳答案
尝试改变:
app.get('/tst',function(req){
console.log(req.params);
});
至:
app.get('/tst',function(req){
console.log(req.query);
});
req.params
用于路由中的参数,例如:
app.get('/test/:name', function (req, res) {
console.log(req.params);
});
当您访问/test/abc
时,req.params.name
将为“abc”
。
$.getJSON()
将数据作为查询参数发送,请参阅:
对于查询参数,您使用res.query
。
如果这是一个 POST 请求,并且您想要访问请求正文中传递的参数,那么您将使用 req.body
(但您需要使用 bodyParser 中间件)。
记住仅将 GET 用于读取操作,在查询参数中指定要获取的内容或以什么形式、什么顺序等。
如果您传递数据以存储在数据库或类似的内容中,则使用 POST 或 PUT 并在请求正文(可以是 JSON)中传递数据。
关于json - Node.js:如何交换 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41349243/