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
慕的地6264312
TA贡献1817条经验 获得超6个赞
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())
添加回答
举报
0/150
提交
取消