1.場景
前陣子公司接回了一個舊的項目,剛開始的時候沒有注意看前端設(shè)置的content-type,然后與后端同事進行接口聯(lián)調(diào)的時候就,有時候發(fā)現(xiàn)數(shù)據(jù)就是對不上,后面看了一下代碼中的axios請求相關(guān)設(shè)置,才發(fā)現(xiàn)是自己走坑了!主要是在請求攔截和響應(yīng)攔截這塊的處理,請求攔截這塊是設(shè)置了默認的請求content-type是使用application/x-www-form-urlencoded
2.學(xué)習(xí)
基本概念
content-type既會出現(xiàn)在http請求的請求頭中,也會出現(xiàn)在響應(yīng)頭上。當(dāng)出現(xiàn)在在請求頭的時候,作用是告訴服務(wù)器實際發(fā)送什么類型的數(shù)據(jù)。當(dāng)出現(xiàn)在響應(yīng)頭的時候,服務(wù)器告訴客戶端返回了什么類型的數(shù)據(jù)。
3.實際運用
一般情況下,我們可以在請求攔截中設(shè)置默認的請求content-type,如下面,如果你在定義請求的沒有指定content-type,那么會走這個請求攔截的時候會設(shè)置默認的content-type,這里設(shè)置為application/x-www-form-urlencoded,這時候,如果后端要求前端傳遞的數(shù)據(jù)類型是application/json,那就回導(dǎo)致你發(fā)送給后端同事的數(shù)據(jù)類型和他想接受的數(shù)據(jù)類型是不一致的!因此,這個默認的設(shè)置一般要跟后臺同時協(xié)商來定(我這里是因為后臺項目是由兩個人開發(fā)的,剛開始那個的開發(fā)吸管是使用application/x-www-form-urlencoded,后面的同時習(xí)慣用application/json)
?接著,我嘗試把這個默認改成application/json的時候,之前開發(fā)的一些模塊就會出錯了,因為之前模塊的請求content-type是需要以application/x-www-form-urlencoded的方式發(fā)送的。當(dāng)然,如果你還想要以application/json的數(shù)據(jù)類型發(fā)送給后端怎么辦呢?下面舉例說明使用axios使用post請求,執(zhí)行請求頭的content-type為application/json格式,請求參數(shù)放在body中
結(jié)果:
文章來源:http://www.zghlxwxcb.cn/news/detail-527988.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-527988.html
到了這里,關(guān)于Http請求中的Content-Type的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!