Javascript CORS POST请求返回空正文

Javascript CORS POST请求返回空正文,javascript,node.js,cors,Javascript,Node.js,Cors,在问题“”的后期,我实施了CORS POST请求: var request = new XMLHttpRequest(); var params = "parameter=test"; request.open('POST', 'http://localhost:3009/param_upload', true); request.onreadystatechange = function() {if (request.readyState==4) alert("It worked!");};

在问题“”的后期,我实施了CORS POST请求:

var request = new XMLHttpRequest();
var params = "parameter=test";
request.open('POST', 'http://localhost:3009/param_upload', true);
request.onreadystatechange = function() {if (request.readyState==4) alert("It worked!");};
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.send(params);
这与互联网上的例子非常接近。这是我在node.js服务器端的设置:

app.use(cors());
var corsOptions = {
  origin: '*',
  credentials: true,
  allowedHeaders: ['*'],
  optionsSuccessStatus: 200
}

当然,my app.post函数的标题中有cors(corsOptions)。然而,不知何故,身体是空的。作为请求,我得到了一个很长的回复,里面没有测试文本。我可能遗漏了一点,但环顾四周却找不到。如果有人帮忙,我会很高兴。

我想你忘了使用BodyParser中间件

使用此中间件,您的所有正文数据都将保存在req.body中

例如:

app.post('/test', function(req, res) {
    // body data
    console.log(req.body);
}

在控制台中查找错误?有关
allowedHeader
*
的信息,请参阅函数成功返回。没有错误。我将检查allowedHeaders。在节点JS端或在发送的http请求本身中,“然而,不知何故,主体是空的”是空的吗?为什么在使用cors中间件之后要创建一个corsOptions对象?您必须为cors中间件功能提供这些选项才能激活:
app.use(cors(corsOptions))我只看到node.js端,它在那里是空的。一个示例建议在函数中使用cors()的corsOptions,前提是该函数只需要cors,因此以这种方式实现。也将尝试您建议的方法。您可以使用浏览器检查器。大多数情况下,单击鼠标右键并进行检查。然后转到“网络”选项卡。现在你可以看到所有的请求,当你点击一个请求时,你应该会看到它的详细信息。我不敢相信我竟然忘记了这一点。非常感谢你。我有一个用于其他请求的json,但忘了检查是否需要一个用于URL编码字符串的json。再次感谢大家。
app.post('/test', function(req, res) {
    // body data
    console.log(req.body);
}