axios的post請求爬坑

MrXu_發表於2018-08-05

如無意外,每週更新時間為週日

axios的post請求資料後端接收不到?

post幾種常見的請求頭普及:

正常能走通的ajax請求格式:

支援的形式

axios的post請求格式:

不支援的形式

也就是說將下面的Request Payload轉變成Form Data即可,網上普遍的說法是:

axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
複製程式碼

確實是生效了,但是距離想要的效果還差了一些:

Form-Data2

所以還需要一個資料格式轉換:

transformRequest: [function (data) {
    // Do whatever you want to transform the data
    var ret = ''
    for (var it in data) {
        ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
    }
    return ret
}]
複製程式碼

最終的解決方案是:

// 新增請求攔截器
axios.interceptors.request.use(function (config) {
    // post 請求的時候資料格式是Request Payload
    // 將其修改成 Form Data
    if (config.method === 'post') {
        config.transformRequest = [function (data) {
            // Do whatever you want to transform the data
            var ret = '';
            for (var it in data) {
                ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
            }
            return ret
        }];
    }
    return config;
}, function (error) {
    // 對請求錯誤做些什麼
    return Promise.reject(error);
});
複製程式碼

這樣你每次都只需要按照官網正常的post方式請求即可。

好訊息:

公司要做一個微信商城準備採用前後端分離的方案,Vue作為主要框架,最近我更新的技術站總算是有用武之地了。我準備將這個過程學到的經驗寫下來,也打算前後端分離的夥伴,可以去看看,給我提提意見: 一步步從後端渲染到前後端分離經驗分享(1)

終極技術方案:

  • 1.Vue-Router:路由管理系統,模擬瀏覽器的history機制,使用方便。不反人類
  • 2.VueX:官方的解釋是這就像你的眼鏡,你自然知道什麼時候去用它。
  • 3.axios:用來做資料請求
  • 4.Mint:UI框架
  • 5.npm:包管理工具
  • 6.webpack:打包工具
  • 7.Vue:資料渲染框架

壞訊息

上一期說的《CSS世界》總結分享,這一期沒有了,實在是有點忙,以後我肯定會補上的。下個周我也要住公司了,因為專案開發時間緊張,已經為我們準備好了晚餐和住宿

周知識總結

未來簡史

這是最近相當火的一本書了,前段時間左手韓新書釋出會在北京二環的國瑞商城舉行。由於左手韓畫風真的很犀利,我對他本人的長相還是相當好奇的。於是途徑西西弗書店,整整一個專欄都放的這本書,當時就默默的把書名記住了。後來在掌閱APP上又看到這本書被推上了熱銷榜,就非常好奇的開啟這本書看了一下。裡面對未來的幾個預測真的很犀利,當然前提要能成真才行:

預測1->人類活到150歲

裡面先敘述了人類從平均壽命40歲到現在普及的平均壽命70多歲作為參考依據,然後大膽做出假設,以後人類的壽命可能還會進行增倍到150歲。當然作者也提到了,之前是因為各種症狀原因導致了人類非自然死亡,而現在大部分人基本上都是自然死亡。要想達到150歲還是很有難度的。假設人類活到150歲這個命題成立下面這些事情必然是需要思考的:

  • 1.150歲死亡,那麼90歲退休是不是就變得正常了呢。這個樣子你可以想象一下現在可能馬上就要退休的你還要在接著幹30多年
  • 2.如果還是25-30歲左右結婚,預示著你將和你的配偶度過120多年的光陰。所以婚姻可能會被延期
  • 3.如果你40歲的時候生了倆個孩子,養育孩子已經是遙遠的記憶,只算的上是慢慢人生中的一個小小的插曲。在這種情況下,很難說究竟會發展處怎樣的親子關係

也就是說整個社會結構都會重新打破。

預測2->人類可以自由選擇基因組合

當有一天人類可以自由選擇基因組合方式,例如選擇爸爸的智慧,母親的美貌。而不是讓自然決定,當然這種方式肯定會有一部分人反對。作者也給出了一個強有力的推論:你排斥這種方式,可你鄰居正在進行這種方式。人家的孩子就會擁有更好地外貌,更聰明的腦袋,你真的願意讓你的孩子輸在起跑線上麼。在往大了說,你的國家拒絕了這種方式,可是有一個小國選擇了這種方式,培育出來了一批一批的數學天才,體育健將,超級明星。所以這種趨勢是不可阻擋的。

以上僅僅是書中推測的第一章的內容,但是已經足以讓我震撼了,建議你們也去讀讀這本書,對於視野的啟發相當有幫助。

往期回顧:

深入前端學習原來這麼有趣 第4期

深入前端學習原來這麼有趣 第3期

深入前端學習原來這麼有趣 第2期

深入前端學習原來這麼有趣 第1期

相關文章