vue中post请求以 a=a&b=b 的格式

vue开发过程中,总会碰到一些问题,当然任何问题都不能阻止我们前进的脚步,话不多说,下面是我在开发过程中请求参数所碰到的问题

1、在暂时没有后台数据的时候,post请求的参数大多会以  name:a,age:b   的格式去写:

import axios from 'axios';//导入时需要注意自己的文件路径

axios.post(url,{

        name:'0',age:''

        },{emulateJSON: true}, {    

        headers:{"Content-Type": "application/x-www-form-urlencoded;charset=utf-8",} 

        }).then(reponse=>{

          console.log(reponse)

           this.tableData=reponse.data.data

        })

其实这样在实际项目中是没有问题的。

2、若是后台已经写好,但post的请求要以   name:a&age:b   的方式去写的话,上面你的写法就会请求不到数据,这时我们就要使用一个插件来解决这个问题;

2.1、安装qs:

    npm install --save axios vue-axios qs

2.2、在请求的页面引用:

        import qs from 'qs';

         import axios from 'axios';

axios.post(url,qs.stringify({    // 通过qs.stringify()将对象解析成URL的形式

        name:'0', age:'2'

        }),{emulateJSON: true},{

        headers:{"Content-Type": "application/x-www-form-urlencoded;charset=utf-8",}

        }).then(reponse=>{

          console.log(reponse)

          this.tableData=reponse.data.data

        })

本文内容主要是以自己的理解为核心,有不同的观点,或有不对的地方,请大神们留言。

分类:Vue.js

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。