AJAX POST 请求
AJAX DELETE 请求 

AJAX PUT 请求

PUT 请求用于更新 Web 服务器上的数据。在此请求中,数据在请求正文中发送,Web 服务器将用新数据替换现有数据。如果指定的数据不存在,则它会将替换数据作为新记录添加到服务器中。

  • PUT 请求与 POST 请求在以下几点上有很大不同:

  • PUT 用于更新现有记录,而 POST 一般用于向服务器中添加新记录。

  • PUT 请求可以缓存,而 POST 请求不能缓存。

  • PUT 请求是幂等的,而 POST 请求是非幂等的。

  • PUT 请求作为特定请求工作,而 POST 请求作为抽象工作。


语法:

open('PUT', url, true)

其中,open() 方法需要三个参数 -

  • PUT - 它用于更新Web服务器上的数据。

  • url − url 表示将在 Web 服务器上打开的文件 url 或位置。

  • true − 对于异步连接,将值设置为 true。或者,对于同步连接,将值设置为 false。此参数的默认值为 true。


如何发送 PUT 请求

步骤1 - 创建XMLHttpRequest的对象。

var xhrRequest = new XMLHttpRequest();

第 2 步 - 在创建 XMLHttpRequest 对象后,现在我们必须定义一个回调函数,该函数将在从 Web 服务器获取响应后触发。

xhrRequest.onreadystatechange = function(){
   // 回调处理逻辑
}

步骤3 - 调用 open() 函数。在 open() 函数内部,我们传递一个 PUT 请求以及我们必须向其发送数据的 URL。

xhrRequest.open("PUT", url, async);

步骤4 - 使用 setRequestHeader() 设置 HTTP 头请求。它总是在 open() 方法之后但在 send() 方法之前调用。这里,content-type 标头设置为“application/json”,表示数据将以 JSON 格式发送。

xhrRequest.setRequestHeader('Content-type', 'application/json');

第 5 步 - 最后,我们使用 stringify() 方法将 JSON 数据转换为字符串,然后使用 send() 方法将其发送到 Web 服务器以更新服务器上存在的数据。

xhrRequest.send(JSON.stringify(JSONdata));


PUT 和 POST 请求之间的区别

PUT

POST 

它用于更新现有记录。它用于创建新记录。
它将整个资源作为有效负载发送。它只发送要更新的部件。
它可以被缓存它不能被缓存
它是幂等的它是非幂等的
如果我们多次发送此请求,则将在指定的服务器上创建多个 URL。如果我们多次发送此请求,则将在指定的服务器上创建多个 URL 如果我们多次发送此请求,它仍然被服务器计为一次修改请求。


因此,这就是我们可以使用 XMLHttpRequest 发送 PUT 请求的方法。它通常用于更新或修改服务器上存在的数据。