返回

用XMLHttpRequest发送get请求并发送参数

前端

使用XMLHttpRequest发送GET请求并发送参数

简介

想象一下,您需要从服务器获取数据,同时向服务器发送一些信息,例如您的姓名和年龄。使用XMLHttpRequest (XHR),这是完全可能的。XHR允许您以非阻塞方式向服务器发送请求,这意味着它不会阻止您的脚本执行。以下是如何使用 XHR 发送 GET 请求并发送参数:

步骤指南

  1. 创建XMLHttpRequest对象

首先,您需要创建XMLHttpRequest对象。这是代码:

var xhr = new XMLHttpRequest();
  1. 配置请求

接下来,使用open()方法配置请求。第一个参数指定请求类型,第二个参数指定URL。

xhr.open('GET', 'http://example.com/get_data.php');
  1. 设置请求头

如果您要发送表单数据,则需要设置请求头。为此,请使用setRequestHeader()方法。

xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  1. 构建请求参数

如果您需要向请求发送参数,请将其构建为字符串。

var params = 'name=John&age=30';
  1. 发送请求

使用send()方法发送请求。

xhr.send(params);
  1. 处理响应

最后,您需要处理响应。为此,您将使用readystatechange事件侦听器。

xhr.onreadystatechange = function() {
  if (xhr.readyState === 4 && xhr.status === 200) {
    // 处理响应
  }
};

代码示例

以下是完整代码示例:

var xhr = new XMLHttpRequest();

xhr.open('GET', 'http://example.com/get_data.php?name=John&age=30', true);

xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

xhr.send();

xhr.onreadystatechange = function() {
  if (xhr.readyState === 4 && xhr.status === 200) {
    var data = xhr.responseText;
    console.log(data);
  }
};

常见问题解答

  • 什么是 XMLHttpRequest?

XMLHttpRequest (XHR) 是一种用于从服务器获取数据的 Web 技术。它允许 JavaScript 应用程序向服务器发送请求并接收响应,而无需重新加载整个页面。

  • 如何发送 GET 请求?

要发送 GET 请求,请使用 open() 方法指定请求类型和 URL。您还可以使用 setRequestHeader() 方法设置请求头。

  • 如何发送参数?

要发送参数,请将其构建为字符串并将其作为参数传递给 send() 方法。

  • 如何处理响应?

要处理响应,请使用 onreadystatechange 事件侦听器。当请求完成时,readyState 属性将变为 4,status 属性将变为 200。

  • 有什么其他方法可以发送数据?

除了 XHR 之外,还有其他方法可以发送数据,例如 fetch() API 和 axios 库。

结论

XHR 是一种强大且通用的技术,可用于各种 Web 应用程序。它允许 JavaScript 应用程序向服务器发送请求并接收响应,而无需重新加载整个页面。希望本指南已帮助您了解如何使用 XHR 发送 GET 请求并发送参数。