关于 FormData 和 URLSearchParams
一、FormData
FormData
接口提供了一种表示表单数据的键值对的构造方式,经过它的数据可以使用 XMLHttpRequest.send()
方法送出,本接口和此方法都相当简单直接。如果送出时的编码类型被设为 "multipart/form-data"
,它会使用和表单一样的格式。
如果你想构建一个简单的GET
请求,并且通过<form>
的形式带有查询参数,可以将它直接传递给URLSearchParams
。
实现了 FormData
接口的对象可以直接在for...of
结构中使用
二,URLSearchParams
URLSearchParams
接口定义了一些实用的方法来处理 URL 的查询字符串。一个实现了 URLSearchParams
的对象可以直接用在 for...of
结构中
1 var url = '?q=URLUtils.searchParams&topic=api'; 2 var searchParams = new URLSearchParams(paramsString); 3 for (let p of searchParams) { 4 console.log(p); 5 } 6 7 searchParams.has("topic") === true; // true 8 searchParams.get("topic") === "api"; // true 9 searchParams.getAll("topic"); // ["api"] 10 searchParams.get("foo") === ""; // true 11 searchParams.append("topic", "webdev"); 12 searchParams.toString(); // "q=URLUtils.searchParams&topic=api&topic=webdev" 13 searchParams.set("topic", "More webdev"); 14 searchParams.toString(); // "q=URLUtils.searchParams&topic=More+webdev" 15 searchParams.delete("topic"); 16 searchParams.toString(); // "q=URLUtils.searchParams"