formData 對象 與 Content-Type 類型


 

FormData

  FormData對象用以將數據編譯成鍵值對,以便用XMLHttpRequest來發送數據。其主要用於發送表單數據,但亦可用於發送帶鍵數據(keyed data),而獨立於表單使用。如果表單enctype屬性設為multipart/form-data ,則會使用表單的submit()方法來發送數據,從而,發送數據具有同樣形式。

 

創建 FormData 對象

  調用 append() 方法添加字段

var formData = new FormData();

formData.append("username", "Groucho");
formData.append("accountnum", 123456); //數字123456會被立即轉換成字符串 "123456"
  formData.append('file', file, file.name)

 

FormData 與 Object 的區分

  都是 Object 的成員,可以理解為二者的格式不同。

  formData是一種數據格式,和JSON類似。不過 js 的 Object中目前還不包含 JSON 這種格式。

 

常見的 Content-Type 類型

  http協議是以ASCII碼傳輸,建立在TCP/IP協議之上的應用層規范;

  該規范把HTTP請求分為三個部分:狀態行、請求頭、消息主體。

  在使用post進行請求的時候,數據發送出去,只有當瀏覽器解析成功才具有意義。

  對於一般的服務器語言,例如php、python等都內置了自動解析常見數據格式的功能;而服務器是根據請求頭 headers 中的 content-type

 

  (1)application/x-www-form-urlencode

         瀏覽器的原生form表單,如果不設置 enctype 屬性,最終將會以application/x-www-form-urlencode方式提交數據;像jquery、Qwrap的ajax,content-type默認值都是 application/x-www-form-urlencode

 

  (2)multipart/form-data

    利用表單長傳文件的時候,必須讓 form 的 enctyped 等於這個值;這個格式一般是用來上傳文件的,各大服務端語言對他也有着良好的支持

 

  常見的媒體格式類型如下:

  •     text/html : HTML格式
  •     text/plain :純文本格式      
  •     text/xml :  XML格式
  •     image/gif :gif圖片格式    
  •     image/jpeg :jpg圖片格式 
  •     image/png:png圖片格式

   以application開頭的媒體格式類型:

  •    application/xhtml+xml :XHTML格式
  •    application/xml     : XML數據格式
  •    application/atom+xml  :Atom XML聚合格式    
  •    application/json    : JSON數據格式
  •    application/pdf       :pdf格式  
  •    application/msword  : Word文檔格式
  •    application/octet-stream : 二進制流數據(如常見的文件下載)
  •    application/x-www-form-urlencoded : <form encType=””>中默認的encType,form表單數據被編碼為key/value格式發送到服務器(表單默認的提交數據的格式)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM