引用jquery ajax
他的作用是告訴服務器,瀏覽器發來了什么數據。一般情況下,我們不需要設置它。默認值為'application/x-www-form-urlencoded; charset=UTF-8');
上傳文件時,使用jquery的同學知道,我們會將content-type設置成flase
$.ajax({
...
processData: false,
contentType: false,
...
})
咦,請求一發送
request headers1
content-type自動設置成了
Content-Type:multipart/form-data; boundary=----WebKitFormBoundarynXvTC1AHtFbVvKTL
// WebKitFormBoundarynXvTC1AHtFbVvKTL這是隨機生成的分界符
//目的是防止上傳文件中出現分界符導致服務器無法正確識別文件起始位置
如果不給ajax設置contType,ajax會自動發送什么request headers呢?
request headers2
發現這是默認的request-headers,可知jquery的ajax的設置機制為若沒有content-type屬性,則默認設置為
application/x-www-form-urlencoded; charset=UTF-8
** contentType: false設置的目的是讓ajax不要操作content-type**
參考資料
ajax
淺談contentType = false--fisecoco