[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/ja/docs/Web/API/XMLHttpRequest_API/Using_FormData_Objects [Back]  [Original]

FormData - Web API | MDN

MDN Web Docs

View in English Always switch to English

FormData

FormData XMLHttpRequest API multipart/form-data submit()

FormData

FormData append()

js
const send = document.querySelector("#send");

send.addEventListener("click", async () => {
  const formData = new FormData();
  formData.append("username", "Groucho");
  formData.append("accountNum", 123456);

  // file  <input> 
  const avatar = document.querySelector("#avatar");
  formData.append("avatar", avatar.files[0]);

  // JavaScript 
  const content = '<q id="a"><span id="b">hey!</span></q>';
  const blob = new Blob([content], { type: "text/xml" });
  formData.append("webmasterFile", blob);

  const response = await fetch("http://example.org/post", {
    method: "POST",
    body: formData,
  });
  console.log(await response.json());
});

: "avatar" "webmasterFile" "accountNum" FormData.append() Blob File Blob File

"username", "accountNum", "avatar", "webmasterFile" FormData fetch() "webmasterFile" Blob Blob Blob JavaScript File Blob Blob Blob Blob()

HTML FormData

<form> FormData FormData form

: FormData name

js
const formData = new FormData(someFormElement);

:

js
const send = document.querySelector("#send");

send.addEventListener("click", async () => {
  // <form> 
  const userInfo = document.querySelector("#user-info");
  const formData = new FormData(userInfo);

  const response = await fetch("http://example.org/post", {
    method: "POST",
    body: formData,
  });
  console.log(await response.json());
});

FormData

js
const send = document.querySelector("#send");

send.addEventListener("click", async () => {
  const userInfo = document.querySelector("#user-info");
  const formData = new FormData(userInfo);
  formData.append("serialnumber", 12345);

  const response = await fetch("http://example.org/post", {
    method: "POST",
    body: formData,
  });
  console.log(await response.json());
});

FormData

FormData type "file" <input> <form>

html
<form enctype="multipart/form-data" method="post" name="fileinfo" id="fileinfo">
  <p>
    <label
      >Your email address:
      <input
        type="email"
        autocomplete="on"
        name="userid"
        placeholder="email"
        required
        size="32"
        maxlength="64" />
    </label>
  </p>
  <p>
    <label
      >Custom file label:
      <input type="text" name="file-label" size="12" maxlength="32" />
    </label>
  </p>
  <p>
    <label
      >File to stash:
      <input type="file" name="file" required />
    </label>
  </p>
  <p>
    <input type="submit" value="Stash the file!" />
  </p>
</form>

js
const form = document.querySelector("#fileinfo");

form.addEventListener("submit", async (event) => {
  const formData = new FormData(form);

  formData.append("CustomField", "This is some extra data");

  const response = await fetch("stash.php", {
    method: "POST",
    body: formData,
  });
  event.preventDefault();
});

: open()

: FormData XMLHttpRequest API multipart/form-data Content-Type POST Blob Content-Type Content-Type

File Blob FormData

js
data.append("myfile", myBlob, "filename.txt");

append() 3 Content-Disposition "blob"

formdata

FormData formdata HTMLFormElement FormData()

FormData formdata

JavaScript

js
const formElem = document.querySelector("form");

submit preventDefault FormData formdata

js
formElem.addEventListener("submit", (e) => {
  // 
  e.preventDefault();

  // FormData  formdata 
  new FormData(formElem);
});

formdata FormData FormDataEvent.formData XMLHttpRequest

js
formElem.addEventListener("formdata", (e) => {
  console.log("formdata fired");

  // 
  const data = e.formData;
  for (const value of data.values()) {
    console.log(value);
  }

  // fetch() 
  fetch("/formHandler", {
    method: "POST",
    body: data,
  });
});

FormData


Web Proxy Viewer  |  New URL  |  Original Page