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>