HTTP Post请求json数据更改

HTTP Post request json data changes

本文关键字:数据 json Post 请求 HTTP      更新时间:2024-03-26

由于某种奇怪的原因,当我的客户端向服务器发送HTTPPost请求时,数据会发生变化。每次我在服务器中对数据进行console.log时,我的数据就不再有逗号了。相反,它将每个逗号替换为&。为什么我所有的逗号都变为&符号?我该如何解决这个问题?

客户:

var request = require('request');
request.post('http://11.11.11.111:9000/server.js', {form:{ "id" : "42", "helpme" : "no"}})  

服务器:

req.on('data', function(chunk) {
     //file1=chunk;
     file1=JSON.parse(chunk);
     console.log(file1);
}

不使用requestform选项,而是使用json选项:

request.post('http://11.11.11.111:9000/server.js', {
  json : { "id" : "42", "helpme" : "no"}
})

此外,请注意,可以生成多个data事件,每个事件都包含不完整的数据。您需要存储传入的数据并在最后对其进行解析:

var chunks = [];
req.on('data', function(chunk) {
  chunks.push(chunk);
});
req.on('end', function() {
  var data = JSON.parse( Buffer.concat(chunks) );
  ...
});