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

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里面的值。
海绵宝宝撒
浏览 3220回答 2
2回答

幕布斯7119047

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

慕的地6264312

Express(4.x)的最新版本已经将bodyparser中间件从核心框架中分离出来了。如果你需要bodyparser,你应该单独安装一个npminstallbody-parser--save接着varapp=express()//parseapplication/x-www-form-urlencodedapp.use(bodyParser.urlencoded({extended:false}))//parseapplication/jsonapp.use(bodyParser.json())
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript