美文网首页
axios踩坑日志

axios踩坑日志

作者: 小西_01bc | 来源:发表于2018-08-30 21:25 被阅读0次

    1. HTTP请求中的Form Data与Request Payload的区别

    • jquery中的ajax,data会自动的被转换成查询字符串格式key1=value1&key2=value2这种形式,很显然这种形式不是json格式.
    • jquery在执行post请求时,会设置Content-Type为application/x-www-form-urlencoded,所以服务器能够正确解析,而使用原生ajax、axios请求时,如果不显示的设置Content-Type,那么默认是text/plain,这时服务器就不知道怎么解析数据了,所以才只能通过获取原始数据流的方式来进行解析请求数据。
    // #创建一个axios实例
    axios.defaults.headers.get['Content-Type'] = 'application/x-www-form-urlencoded';
    axios.defaults.withCredentials = true;
    axios.defaults.transformRequest = [function (data) {
        let ret = ''
        for (let it in data) {
          ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
        }
        return ret
    }]
    

    2. axios默认是发送请求的时候不会带上cookie的,需要通过设置withCredentials: true来解决

    axios.defaults.withCredentials = true;
    

    相关文章

      网友评论

          本文标题:axios踩坑日志

          本文链接:https://www.haomeiwen.com/subject/oebdwftx.html