JavaScript GET和POST请求在Vanilla中的区别

JavaScript GET和POST请求在Vanilla中的区别

在这篇文章中,我们将学习关于Vanilla JavaScript中的GET和POST请求方法,并通过示例来理解这两种方法。

GETPOST 是两种不同类型的HTTP请求方法。HTTP协议支持许多方法来从服务器传输数据或在服务器上执行任何操作。HTTP协议支持的方法包括GET、POST、PUT、DELETE、PATCH、COPY、HEAD、OPTIONS等。在我们深入了解 GETPOST 请求方法的主要区别之前,让我们先了解一下这些HTTP方法是什么。

  • GET请求方法: 从特定资源(通过一些API URL)请求数据。在示例中使用一个虚拟API来演示GET请求的工作原理。
  • POST请求方法: 将数据发送到特定资源以进行处理(通过一些API URL)。在示例中使用一个虚拟API来演示POST请求的工作原理。

GET和POST请求方法是由 fetch()方法 使用的,该方法用于向服务器发送请求并在网页中加载信息。

示例: 该示例演示了GET请求方法。

// Instantiating new XMLHttpRequest() method
let xhr = new XMLHttpRequest();
 
// open() method to pass request
// type, url and async true/false 
xhr.open('GET',
    'https://jsonplaceholder.typicode.com/users/2', true);
 
// onload function to get data 
xhr.onload = function () {
    if (this.status === 200) {
        console.log(JSON.parse(this.responseText));
    }
}
 
// Send function to send data
xhr.send()

示例: 示例演示POST请求方法。

// Instantiating new XMLHttpRequest()
let xhr = new XMLHttpRequest();
 
// open() method to pass request
// type, url and async true/false 
xhr.open('POST',
    'http://dummy.restapiexample.com/api/v1/create', true);
 
// Setting content-type
xhr.getResponseHeader('Content-type', 'application/json');
 
// Perform the following when the response is ready
xhr.onload = function () {
    if (this.status === 200) {
        console.log(this.responseText)
    }
    else {
        console.log("Some error occurred")
    }
}
 
// Send the request as an object obj
obj = `{"name":"Selmon Bhoi", 
        "salary":"$10, 000", "age":"55"}`;
xhr.send(obj);

GET和POST之间的区别:

序号 GET 请求 POST 请求
1. GET 请求会获取指定资源的表示。 POST 请求用于写入数据,将其处理到指定的资源。
2. GET 请求通常在请求的URL中包含相关信息。 POST 请求通常在请求体中包含相关信息。
3. GET 请求受浏览器和Web服务器支持的URL最大长度限制。 POST 请求没有此限制。
4. GET 请求是默认的HTTP方法。 在这种情况下,我们需要指定方法为POST,以使用POST方法发送请求。
5. 可以为GET请求创建书签。 无法为POST请求创建书签。
6. GET 请求安全性较低,因为发送的数据是URL的一部分。 POST 请求相对安全一些,因为参数不会被存储在浏览器历史记录或Web服务器日志中。
7. GET 请求可缓存。 POST 请求不可缓存。
8. 例如,使用GET请求获取显示特定问题的页面。 例如,通过点击“添加到购物车”按钮发送POST请求。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程