为了账号安全,请及时绑定邮箱和手机立即绑定

express4.x 框架 req.body获取不到前台post数据

express4.x 框架 req.body获取不到前台post数据

海绵宝宝撒 2019-04-10 20:49:11
varoption={type:"POST",url:"/",contentType:"application/json;charset:utf-8",dataType:"json",data:{ok:"on",temperature:"18",}success:function(response){console.log(response);}error:function(err){alert(err);}}$.ajax(option);以上是前台代码。。app.post("/",function(req,res){vardata={ok:req.body.ok,temperature:req.body.temperature}console.log(data);})最后输出的为{ok:undefined,temperature:undefined}我使用的express框架.app.use(bodyParser());app.use(bodyParser.json());app.use(bodyParser.urlencoded({extended:true}));使用的bodyParser解析的模块。但是依然解析不到req.body里面的值。
查看完整描述

2 回答

?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

jquery的ajax方法里,设置contentType是用来设置请求的contentType,而请求的contentType只有3种:application/x-www-form-urlencoded(默认值)、multipart/form-data、text/plain,application/json一般会是响应的contentType,而在jquery的ajax方法里,要用dataType:'json',来把设置响应的contentType设置为json
                            
查看完整回答
反对 回复 2019-04-10
?
慕的地6264312

TA贡献1817条经验 获得超6个赞

Express(4.x)的最新版本已经将bodyparser中间件从核心框架中分离出来了。如果你需要bodyparser,你应该单独安装一个
npminstallbody-parser--save
接着
varapp=express()
//parseapplication/x-www-form-urlencoded
app.use(bodyParser.urlencoded({extended:false}))
//parseapplication/json
app.use(bodyParser.json())
                            
查看完整回答
反对 回复 2019-04-10
  • 2 回答
  • 0 关注
  • 3219 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信