Node.js:如何交换 JSON 对象 [重复]
Posted
技术标签:
【中文标题】Node.js:如何交换 JSON 对象 [重复]【英文标题】:Node.js: How to exchange a JSON object [duplicate] 【发布时间】:2017-05-11 23:32:27 【问题描述】:我的目的是将一个 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
【问题讨论】:
你能上传完整的服务器代码吗,它有没有 const bodyParser = require('body-parser'); app.use(bodyParser.json()); app.use(bodyParser.urlencoded(extended: true )); 【参考方案1】:$ npm install --save body-parser
然后:
var bodyParser = require('body-parser')
app.use( bodyParser.json() ); // to support JSON-encoded bodies
app.use(bodyParser.urlencoded( // to support URL-encoded bodies
extended: true
));
您的端点应如下所示:
app.post('/tst',function(req)
console.log(req.body);
);
然后使用 Jquery Post:
$.post('/tst',data);
body 解析器安装示例取自这里:
How to retrieve POST query parameters?
希望对你有帮助:)
【讨论】:
我发现它非常有用;我试过了,它也在工作。只是不同的是,现在通信是加密的,对吗? 没有完全加密,唯一真正的技术区别(如果我错了,请更正这篇文章)是 GET 对查询字符串的限制要短得多。实际上,GET 用于从服务器获取某些内容时。 GET 调用不应对服务器造成副作用。 POST 是当你打算在服务器上发送一些东西并让它做一些事情的时候。【参考方案2】:尝试改变:
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)。
【讨论】:
以上是关于Node.js:如何交换 JSON 对象 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
node.js - 按值对 JSON 对象进行排序 [重复]
Coffeescript / Node.js:如何从对象数组中删除重复对象?
Node.js / Express / Mongoose - 如何发送 JSON 以及对象视图?