Axios GET 不能设置Content-Type
生活随笔
收集整理的這篇文章主要介紹了
Axios GET 不能设置Content-Type
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近在與后端的項目對接中,接口工具使用了axios這個東西。怎么說那 ,反正有很多坑,在后端的請求中要設置GET 請求中要設置header中的Content-Type為application/json; charset=utf-8
我目視了兩秒鐘很簡單的嘛
var $http = axios.create({baseURL: url,headers: {'Content-Type': 'application/json; charset=utf-8'}... })灑灑水啦 ,是不是很容易
然后。。然后。。我艸what fuck,一看請求中header中沒得這個玩意兒,但是除了Content-Type都是可以設置的
此時此刻一萬句mmp要將,百度一大推也都沒啥用
然后本人就去讀了一哈源碼,npm包中的源碼 axios/lib/xhr.js,寫了什么,我艸 他寫了什么
118------129行
// Add headers to the requestif ('setRequestHeader' in request) {utils.forEach(requestHeaders, function setRequestHeader(val, key) {if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {// Remove Content-Type if data is undefineddelete requestHeaders[key];} else {// Otherwise add header to the requestrequest.setRequestHeader(key, val);}});}然后看這個if判段, 嗶了狗了
然后就有那么幾個解決辦法,下面我寫一寫哈
- 方法一
好了,行了行了,現在可以了
- 方法二
我們不能隨隨便便改人家的npm包啊,萬一下次別人安裝的時候那不是又要去改,咋辦呢,看下面這個方法
現在哥哥告訴你,隨便在get請求中設置header那還不是簡簡單單的事情
axios這么做的原因, 是因為GET請求本身是不需要Content-type,塔屬于簡單請求
現在去官網提個bug看看他們會采納
總結
以上是生活随笔為你收集整理的Axios GET 不能设置Content-Type的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Sentinel简单使用
- 下一篇: API接口签名验证