AJAX XMLHttpRequest
AJAX 请求类型 

AJAX 发送请求

AJAX 应用程序使用 XMLHttpRequest 对象来启动或管理发送到 Web 服务器的数据请求,并以非常有效的方式处理或监视 Web 服务器发送的数据。AJAX 支持以下类型的请求 -

  • GET 请求

  • POST 请求

  • PUT 请求

  • DELETE 请求

要创建连接并向 Web 服务器发送请求,请使用 XMLHttpRequest 对象,请提供以下两种方法:

  • open() - 它用于在 Web 浏览器和 Web 服务器之间创建连接。

  • send() - 它用于向 Web 服务器发送请求。

open() Method

open() 方法用于建立与 Web 服务器的异步连接。一旦建立了安全连接,您现在就可以使用 XMLHttpRequest 的各种属性了,或者您可以发送请求或处理响应。


语法:

open(method, url, async)

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

  • method − 它表示用于与 Web 服务器(GET 或 POST)建立连接的 HTTP 方法。

  • url − 它表示将在 Web 服务器上打开的文件 URL。或者我们可以说服务器(文件)位置。

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


要使用 open() 方法,首先我们创建一个 XMLHttpRequest 对象的实例。然后我们调用 open() 方法使用 HTTP GET 或 POST 方法和服务器的 URL 初始化请求。


GET 选项用于从 Web 服务器检索适量的信息,而 POST 选项用于检索大量信息。因此,GET 和 POST 选项都可以配置 XMLHttpRequest 对象以处理给定文件。


在 open() 方法中,可以使用绝对路径或相对路径来指定 AJAX 应用程序的文件名、位置或路径。其中绝对路径是指定文件确切位置的路径,例如 -

xhrRequest.open("GET", "http://www.itutil.net/tutorial/static/prov.txt")

此处“prov.txt”是文件的名称,“http://www.itutil.net/tutorial”是存储prov.txt文件的位置。


相对路径用于根据 Web 服务器上相对于 Web 应用程序文件的位置来指定文件的位置,例如:

xhrRequest.open("GET", "tutorial/static/prov.txt")

send() 方法

语法:

xhrRequest.send()

send() 方法用于将请求发送到服务器。您还可以将参数传递给 send() 方法。


发送请求

要向服务器发送请求,首先我们需要创建一个 XMLHttpRequest 对象的实例,然后我们创建一个回调函数,该函数将在从 Web 服务器获取响应后生效。然后我们使用 open() 方法在 Web 浏览器和 Web 服务器之间建立异步连接,然后使用 send() 函数将请求发送到服务器。


示例程序:

<!DOCTYPE html>
<html>
<head>
<script>
   function ShowData() {
   // 创建 XMLHttpRequest 对像
   var xhrRequest = new XMLHttpRequest();
   // 定义回调函数
   xhrRequest.onreadystatechange = function() {
      if (this.readyState == 4 && this.status == 200) {
         document.getElementById("example").innerHTML = this.responseText;
      }
   };
  // 打开连接
  xhrRequest.open("GET", "/tutorial/static/prov.txt", true);
  // 向服务器发送请求
  xhrRequest.send();
}
</script>
</head>
<body>
<div id="example">
  <p>请点击下面的按钮查询数据:</p>
  <button type="button" onclick="ShowData()">查询</button>
</div>
</body>
</html>

亲自试试