0
axios.defaults.baseURL = "http://127.0.0.1:4000"
axios.defaults.headers['Content-Type']="application/x-www-form-urlencoded"
正常提交后
axios.post('/test',{a:'1'})

理论上后台req.body应该为{a:'1'}
结果req.body为{{a:'1'}:""}
它把整个对象包装成键值了。不知道大神有么有遇到过

3个回答

0

axios.defaults.headers['Content-Type']="application/json"

0

用qs.stringify({a:'1'})包装一下搞定了,传过去变成"{"a":"1"}",解析起来也是满痛苦的,我传了一个对象包括数组,解析了我半天

0

因为 application/x-www-form-urlencoded 的行为就是key=value&key2=value2,你这里只有key,value当然为空,那有个方式就是设置text/plain?后端直接把字符串转成对象。

json不能跨域,试过了,跨域必须用字符串传过去:)

这样的跨域还真没见过,跨域是任何请求都被禁止的。

撰写答案