Ajax 简明教程

Fetch API - Send POST Requests

Fetch API 与 XMLHttpRequest 类似,它也提供了一个 JavaScript 接口,用于管理与 Web 服务器之间的异步请求和响应。它提供了 fetch() 方法,用于提取资源或向服务器发送异步请求,而无需重新加载网页。借助 fetch() 方法,我们可以执行各种请求,如 POST、GET、PUT 和 DELETE。因此,在本文中,我们将了解如何借助 Fetch API 发送 POST 请求。

Send POST Request

Fetch API 也支持 POST 请求。POST 请求是一种 HTTP 请求,用于将数据或窗体发送到给定的资源或 Web 服务器。在 Fetch API 中,我们可以使用 POST 请求,方法是指定其他参数,如方法、正文标头等。

Syntax

fetch(URL, {
   method: "POST",
   body: {//JSON Data},
   headers:{"content-type": "application/json; charset=UTF-8"}
})
.then(info =>{
   // Code
})
.catch(error =>{
   // catch error
});

此处,fetch() 函数包含以下参数 −

  1. URL − 它表示我们要获取的资源。

  2. method − 它是一个可选参数。它用于表示像 GET、POST、DELETE 和 PUT 这样的请求。

  3. body − 它也是一个可选参数。当您希望向请求添加正文时,可以使用此参数。

  4. header − 它也是一个可选参数。它用于指定标头。

Example

在以下程序中,我们将一个 JSON 文档发送到给定的 URL。为此,我们需要定义一个 fetch() 函数以及一个 URL,一个 POST 请求,一个正文(即 JSON 文档)和一个标头。因此,当 fetch() 函数执行时,它会将给定的正文发送到指定的 URL,并将响应数据转换成 JSON 格式,使用 response.json() 函数。之后,我们将显示响应。

<!DOCTYPE html>
<html>
<body>
<script>
   // Retrieving data from the URL using POST request
   fetch("https://jsonplaceholder.typicode.com/todos", {
      // Adding POST request
      method: "POST",

      // Adding body which we want to send
      body: JSON.stringify({
      id: 32,
      title: "Hello! How are you?",
      }),
      // Adding headers
      headers:{"Content-type": "application/json; charset=UTF-8"}
   })
   // Converting received information into JSON
   .then(response => response.json())
   .then(myData => {
      // Display the retrieve Data
      console.log("Data Sent Successfully");

      // Display output
      document.getElementById("manager").innerHTML = myData;
   });
</script>
<h2>Display Data</h2>
<div>
   <!-- Displaying retrevie data-->
   <table id = "manager"></table>
</div>
</body>
</html>

Output

send post

Conclusion

因此,这就是我们如何使用 Fetch API 发送 POST 请求的方法。使用此请求,我们可以轻松地将数据发送到指定的 URL 或服务器。此外,还可以根据您的要求使用 fetch() 函数修改您的请求。现在,在下一篇文章中,我们将学习如何发送 PUT 请求。