ajax与axios请求头Content-Type的问题

我在开发中遇到一个问题,我用vue+wepack+axios来开发一个项目,但是后端用的是很久很旧的技术,在调试接口的时候后台要求我传的请求头是Content-Type="application/x-www-form-urlencoded;charset=UTF-8"的格式,但是参数是对象格式传过去,如果用ajax设置这个头部是没问题的,但是用axios请求头是Content-Type="application/x-www-form-urlencoded;charset=UTF-8"的时候请求的参数变成了字符串的形式,具体情况看下面图片:

   ajax设置请求头Content-Type="application/x-www-form-urlencoded;charset=UTF-8"的参数格式:

  ajax与axios请求头Content-Type的问题_第1张图片

   axios设置请求头Content-Type="application/x-www-form-urlencoded;charset=UTF-8"的参数格式:

 ajax与axios请求头Content-Type的问题_第2张图片

但是,后台想我用frorm-Data,又想我传的是跟ajax的参数格式一样,但是我现在是用了axios,所以我们当时调了几个小时都没有调通,后来我就用了一个插件来传换,下面是我解决的方法:

  首选:npm install qs,

 然后引入,

  再者用它包住整个参数:

ajax与axios请求头Content-Type的问题_第3张图片

 

有一个data对象,这个也要JSON.stringify() 传换, 不过这要看后台需求的数据结构吧!要不就是下面这样:

ajax与axios请求头Content-Type的问题_第4张图片

 

你可能感兴趣的:(前端开发)