1. 程式人生 > >http請求中content-type的那些事兒

http請求中content-type的那些事兒

在jquery+ajax盛行的年代裡,前後端互動實在太方便了,ajax發起一個請求就是這麼簡單

$.ajax({
    url:'',
    type:'post',
    data:{},//引數
    ...
})

久而久之,裡面很多的細節都被我們忽略了,等到有一天,沒有jquery ajax的時候,咦?怎麼發起一個請求死活不成功,引數明明傳遞過去了,抓包都沒有問題,但是後臺就是取不到值,為何為何?因為任何請求的發起和接收,都需要前後端配合的,引數可能發了一個表單資料,可能是一個json物件,可能是一個字串,後臺怎麼知道你發的是啥呢,我們會問,以前那麼簡單也沒出問題啊,對,那是因為‘封裝’了。發起一個請求,是需要設定請求頭的,告訴服務端我們需要幹嘛,接下來我們就先來詳細介紹一下一個重要的請求頭,content-type。

content-type請求頭是幹嗎的呢,http請求頭有四種類型,分別是通用頭部,請求頭部,響應頭部以及內容頭部,首先,我們要弄清楚,content-type是屬於內容頭部,既然是內容頭部,那這個請求頭是用來向接收端解釋傳遞的該內容主體的,content-type的取值是告訴服務端,你傳遞過去的內容是啥,你應該準備好如何接收,這裡,我們重點剖析一下其中幾個取值,’application/json’,’application/x-www-form-urlencoded’,’multipart/form-data’。 
既然不同的型別,服務端接收方式是不同的,那前端傳送方式必然也是有區別的咯,接下來一一作說明。 
首先,content-type的值是application/json的情況,傳遞的是一個json物件,並不是直接丟一個物件過去,需要進行序列化,JSON.stringify(data);如下圖: 

--------------------- 
作者:shellJ 
來源:CSDN 
原文:https://blog.csdn.net/jiangcs520/article/details/70141901?utm_source=copy