Fetch API - 发送 PUT 请求
在 Fetch API 中,PUT 请求用于更新或替换服务器上存在的现有资源或数据。 使用 PUT 请求通常在请求正文中包含要更新的数据。 当服务器收到请求时,服务器使用该数据来更新给定 URL 中存在的现有资源。 如果服务器不包含该资源,那么它会使用给定的数据创建一个新资源。
语法
fetch(URL, { method: "PUT", body: {//JSON Data}, headers:{"content-type": "application/json; charset=UTF-8"}}) .then(info =>{ // Code }) .catch(error =>{ // catch error });
这里的 fetch() 函数包含以下参数 −
URL − 它代表我们要获取的资源。
method − 它是一个可选参数。 它用于表示请求,如 GET、POST、DELETE 和 PUT。
body − 它也是一个可选参数。 当您想要向请求添加正文时,可以使用此参数。
headers − 它也是一个可选参数。 它用于指定标头。
示例 1:使用 fetch() 发送 PUT 请求
在下面的程序中,我们创建一个简单的脚本,通过使用 fetch() 函数的 PUT 请求来更新给定 URL 中的现有数据。 在这里,我们在给定的 URL 中发送一个 JSON 文档以及标头。 所以收到响应后,检查响应的状态。 如果响应状态为200,则表示数据更新成功。 如果发生错误,则 catch 函数会处理该错误。
<!DOCTYPE html> <html> <head> <title>Fetch API Example</title> </head> <body> <h1>Example of Fetch API</h1> <script> // 使用 PUT 请求更新 URL 中的数据 fetch("https://jsonplaceholder.typicode.com/todos/21", { // Using PUT request method: "PUT", // Body contains replacement data body: JSON.stringify({ id: 22, title: "Hello! Mohina what are you doing?", }), // Setting headers headers:{"Content-type": "application/json; charset=UTF-8"} }) .then(response => { // Handle response if (response.status == 200){ console.log("Data updated successfully") } else { throw new error("Error Found:", response.status) } }) // Handle error .catch(err=>{ console.error(err) }); </script> </body> </html>
Output
示例 2:使用带有 async/await 的 fetch() 发送 PUT 请求
在下面的程序中,我们创建一个脚本,使用带有 fetch() 函数和 async/await 的 PUT 请求来更新给定 URL 中的现有数据。 在这里,我们在给定的 URL 中发送一个 JSON 文档以及标头。 所以我们创建一个名为modifyData()的异步函数。 这里我们使用await关键字和fetch()函数来暂停函数的执行,直到返回的promise被解析。 收到响应后,检查响应的状态,如果响应状态为200,则表示数据更新成功。 如果发生错误,则 catch 函数会处理该错误。
注意 − 这里async/await一起使用,以同步的方式处理异步操作。
<!DOCTYPE html> <html> <head> <title>Fetch API Example</title> </head> <body> <h1>Example of Fetch API</h1> <script> async function modifyData(){ try{ const myRes = await fetch("https://jsonplaceholder.typicode.com/todos/21", { // Using PUT request method: "PUT", // Body contains replacement data body: JSON.stringify({ id: 24, title: "Mina leaves in Delhi", }) }); // Handling response if (myRes.status == 200){ console.log("Data updated successfully") } else { throw new error("Error Found:", myRess.status) } } catch(err){ console.error(err) } } // Calling the function modifyData(); </script> </body> </html>
输出
结论
这就是我们如何使用 PUT 请求来更新给定资源中的现有数据。 使用此功能,您还可以借助 fetch() 函数提供的参数向请求添加额外的属性。 在下一章中,我们将看到如何发送 JSON 数据。