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