在Node.js中,使用POST方法返回的值为空。
在Node.js中,使用POST方法返回的值为空。
提交表单时,表单字段的值没有以POST方法发送。
以下是index.html文件中的代码:
服务器端脚本的代码如下:
const express = require('express'); const bodyParser = require('body-parser'); const cors = require('cors'); var app = express(); app.use(bodyParser.json()) app.use(cors()); app.post('/insertion',function(request,response){ console.log(request.body); }); app.get('/index',function(request,response){ response.send('hi '); }); app.listen(4000);
没有显示任何错误,但值为空。
在Node.js中,当使用Post方法提交表单数据时,经常会遇到返回null值的问题。解决这个问题的方法是使用bodyParser.urlencoded来读取表单数据。
首先,需要在代码中添加以下两行代码:
app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json());
其中,`app.use(bodyParser.urlencoded({ extended: false }))`用于解析表单数据,`app.use(bodyParser.json())`用于解析JSON数据。
此外,你也可以参考这个回答来解决问题。链接:this answer
如果你仍然遇到空对象的问题,可以尝试检查代码是否正确。
在上述代码中,使用了Express框架和body-parser模块来处理POST请求。然而,在处理POST请求时,出现了返回null值的问题。为了解决这个问题,我们需要在app.use(bodyParser.json())之后添加一行代码app.use(bodyParser.urlencoded({extended: false}))
。
这个问题的出现是因为在处理POST请求时,没有正确地使用body-parser模块。body-parser模块是一个中间件,用于解析请求体中的数据,并将其附加到request对象的body属性上。在上述代码中,首先使用app.use(bodyParser.json())
来处理JSON格式的请求体,但没有处理URL编码的请求体。因此,在后续的POST请求中,无法正确地解析请求体中的数据,导致返回null值。
为了解决这个问题,我们需要在app.use(bodyParser.json())
之后添加一行代码app.use(bodyParser.urlencoded({extended: false}))
。这样,body-parser模块就能正确地解析URL编码的请求体,并将其附加到request对象的body属性上,从而避免返回null值的问题。
总结起来,要解决POST方法返回null值的问题,只需在Express应用程序中添加一行代码app.use(bodyParser.urlencoded({extended: false}))
,确保正确地使用body-parser模块来解析URL编码的请求体。这样,就可以正确地获取POST请求中的参数值。