FormData對象

一、概念javascript


 

FormData對象,能夠把全部表單元素的name與value組成一個queryString,提交到後臺。java

使用ajax時,使用FormData對象能夠減小queryString的工做量(queryString是查詢字符串,http查詢字符串由url中?後面的值指定)。ajax

二、使用數組


  1)、建立對象app

    

var formData = new FormData();

  2) 、使用實例化對象post

   假若有下面的form表單url

1 <form id="myForm" action="" method="post">
2     <input type="text" name="name">名字
3     <input type="password" name="psw">密碼
4     <input type="submit" value="提交">
5 </form>

 三、 操做方法spa


 

    一、獲取數據:get(key)  或者  getAll(key)來獲取對應的數據值code

formData.get("name"); // 獲取key爲name的第一個值
formData.get("name"); // 返回一個數組,獲取key爲name的全部值

   

    2、添加數據: append(key, value)添加數據,若是key值不存在會增長一條值,若是存在則添加到數據的末尾orm

1 formData.append("k1", "v1");
2 formData.append("k1", "v2");
3 formData.append("k1", "v1");
4  
5 formData.get("k1"); // "v1"
6 formData.getAll("k1"); // ["v1","v2","v1"]

   三、設置修改數據set(key , value)來設置修改數據,若是指定的key不存在則會新增一條,若是存在,則會修改對應的value值。

1 formData.append("k1", "v1");
2 formData.set("k1", "1");
3 formData.getAll("k1"); // ["1"]

   4刪除數據:經過delete(key),來刪除數據

  

formData.append("k1", "v1");
formData.append("k1", "v2");
formData.append("k1", "v1");
formData.delete("k1");
 
formData.getAll("k1"); // []

    五、遍歷數據 :能夠經過entries()來獲取一個迭代器,而後遍歷全部的數據,

      迭代器的規則:

            一、每調用一次next()返回一條數據,數據的順序由添加的順序決定

            二、返回的是一個對象,當其done屬性爲true時,說明已經遍歷完全部的數據,這個也能夠做爲判斷的依據

            三、返回的對象的value屬性以數組形式存儲了一對key/value,數組下標0爲key,下標1爲value,若是一個key值對應多個value,會變成多對key/value返回

 

 1 formData.append("k1", "v1");
 2 formData.append("k1", "v2");
 3 formData.append("k2", "v1");
 4  
 5 var i = formData.entries();
 6  
 7 i.next(); // {done:false, value:["k1", "v1"]}
 8 i.next(); // {done:fase, value:["k1", "v2"]}
 9 i.next(); // {done:fase, value:["k2", "v1"]}
10 i.next(); // {done:true, value:undefined}
相關文章
相關標籤/搜索