FormData
Note: This feature is available in Web Workers.
The FormData interface provides a way to construct a set of key/value pairs representing form fields and their values, which can be sent using the fetch(), XMLHttpRequest.send() or navigator.sendBeacon() methods. It uses the same format a form would use if the encoding type were set to "multipart/form-data".
You can also pass it directly to the URLSearchParams constructor if you want to generate query parameters in the way a <form> would do if it were using simple GET submission.
An object implementing FormData can directly be used in a for...of structure, instead of entries(): for (const p of myFormData) is equivalent to for (const p of myFormData.entries()).
Constructor
FormData()- 
    
Creates a new
FormDataobject. 
Instance methods
FormData.append()- 
    
Appends a new value onto an existing key inside a
FormDataobject, or adds the key if it does not already exist. FormData.delete()- 
    
Deletes a key/value pair from a
FormDataobject. FormData.entries()- 
    
Returns an iterator that iterates through all key/value pairs contained in the
FormData. FormData.get()- 
    
Returns the first value associated with a given key from within a
FormDataobject. FormData.getAll()- 
    
Returns an array of all the values associated with a given key from within a
FormData. FormData.has()- 
    
Returns whether a
FormDataobject contains a certain key. FormData.keys()- 
    
Returns an iterator iterates through all keys of the key/value pairs contained in the
FormData. FormData.set()- 
    
Sets a new value for an existing key inside a
FormDataobject, or adds the key/value if it does not already exist. FormData.values()- 
    
Returns an iterator that iterates through all values contained in the
FormData. 
Specifications
| Specification | 
|---|
| XMLHttpRequest Standard  # interface-formdata  | 
Browser compatibility
BCD tables only load in the browser