contentTypeajax
默認:'application / x-www-form-urlencoded; charset = UTF-8'跨域
類型:Boolean或者String瀏覽器
說明:將數據發送到服務器時,大多數狀況直接使用默認值「application / x-www-form-urlencoded; charset = UTF-8」。從 jQuery 1.6開始,若是想將具體內容類型傳遞給 $ .ajax(),經過 contentType:false 來修改默認值。注意:W3C XMLHttpRequest 規範規定字符集是 UTF-8 ;指定另外一個字符集不會強制瀏覽器更改編碼。注意:對於跨域請求,將內容類型設置爲除 application / x-www-form-urlencoded,multipart / form-data 或 text / plain 以外的任何內容將觸發瀏覽器向服務器發送預檢OPTIONS請求。bash
當設置了 contentType: false
之後 服務器
不設置 contentTypeapp
默認:true編碼
類型:Booleanurl
說明:默認狀況下,以對象形式上傳的數據,將被轉換爲查詢字符串,來匹配contentType的默認值 「application / x-www-form-urlencoded」 。若是要發送 DOMDocument 或不須要轉換成查詢字符串的數據,請將此選項設置爲false。spa
源碼code
s = jQuery.ajaxSetup( {}, options ),
// Convert data if not already a string
if ( s.data && s.processData && typeof s.data !== "string" ) {
s.data = jQuery.param( s.data, s.traditional );
}
複製代碼
例子
jQuery.param 把 { width:1680, height:1050 }
參數對象序列化爲 width=1680&height=1050
這樣的字符串。
原生的 XMLHttpRequest 並無這個參數,發送 XML 時經過 xhr.send(xmlDocument)
直接發送。
這裏的 boundary 字符串是分界符,靠後的字符串是隨機生成的,目的是使服務器正常解析文件。