请求配置Content-Type的理解

138 阅读1分钟

我最近在详读axios文档,刚好遇到了请求头设置的Content-Type,之前我都是似懂非懂,模糊的感觉,今天不忙就重新学习了下,这里借鉴了axios 配置 Content-Type - zhanglw - 博客园 (cnblogs.com)

学习心得如下:

 // 创建一个axios实例
        const instance=axios.create({
            baseURL:'https://some-domain.com/api/',//设置请求前面的路径
            timeout:5000,//设置请求响应的时间
            headers:{//设置请求的表头信息,
                // 说明
                // Content-Type:表示以什么样的格式传数据给后端 
                    // 常见的格式有3种:
                        // 1)application/json:请求体中的数据会以JSON字符串的方式传给后端(这个是axios默认的请求数据格式)
                        // 2)application/x-www-form-urlencoded:请求体的数据会会以表单形式(键值对)传过去
                            // application/x-www-form-urlencoded配置方式:
                                // a)用URLSearchParams 传数据
                                    // let params=new URLSearchParams()
                                    // params.append("id",45757)
                                    // params.append('name','ksc')
                                    // axios({
                                    //     method:'post',
                                    //     url:'/uesr',
                                    //     data:params
                                    // }).then(()=>{})
                                // b)借助QS
                                    // import QS from qs  (这个是axios自带的)
                                    // let params={
                                    //     id:'777',
                                    //     name:'ksc'
                                    // }
                                    // axios({
                                    //     method:'post',
                                    //     url:'/uesr',
                                    //     Content-Type:'application/x-www-form-urlencoded'
                                    //     data:QS.stringify(params)
                                    // })
                        // 3)multipart/form-data:可以将请求体中的数据处理为一条消息,以标签为单元,用分隔符隔开,既可以上传键值对,也可以上传文件(这个一般在提交带表单(有文件的)的情况下使用)
                            // 上传表单
                                    // let formdata=new FormData() (这个不仅可以用在multipart/form-data,也可以用在application/x-www-form-encoded)
                                    // formdata.append('name','ksc')//文件也是可以传的,它会转为一个二进制数据
                                    // axios({
                                    //     methos:'post',
                                    //     url:'/uer',
                                    //     Content-Type:'multipart/form-data',
                                    //     data:formdata
                                    // })
                
                // u


            }

        })