2024年4月10日发(作者:)

使用JS和Ajax发出异步请求

本文介绍了如何创建能够适应不同浏览器的XMLHttpRequest实例,建立和发送请求,并

响应服务器。您将开始接触最基本和基础性的有关Ajax的全部对象和编程方法:

XMLHttpRequest对象。该对象实际上仅仅是一个跨越所有Ajax应用程序的公共线程,您可能

已经预料到,只有彻底理解该对象才能充分发挥编程的潜力。

XMLHttpRequest简介

XMLHttpRequest 是JS的一个对象。它是介绍 Web 2.0、Ajax 和大部分其他内容的核心。下

面给出该对象的几个方法和属性:

1、open():建立到服务器的新请求。

2、send():向服务器发送请求。

3、abort():退出当前请求。

4、readyState:提供当前 HTML 的就绪状态。

5、responseText:服务器返回的请求响应文本。

用XMLHttpRequest能够做什么呢,值得注意的是这些方法和属性都与发送请求及处理响应有

关。事实上,如果看到XMLHttpRequest的所有方法和属性,就会发现它们都与非常简单的请

求/响应模型有关。用好该对象可以彻底改变您的应用程序。

创建XMLHttpRequest对象实例

首先需要创建一个新变量并赋给它一个XMLHttpRequest对象实例。这在JS中很简单,只要对

该对象名使用new关键字即可.创建新的XMLHttpRequest对象:var request = new

XMLHttpRequest();

创建 XMLHttpRequest的Java伪代码:XMLHttpRequest request = new XMLHttpRequest();

错误与跨浏览器处理

在实际上各种事情都可能出错,而上面的代码没有提供任何错误处理。较好的办法是创建该对象,

并在出现问题时优雅地退出。比如,任何较早的浏览器都不支持 XMLHttpRequest,您需要让

这些用户知道有些地方出了问题。下面说明如何创建该对象,以便在出现问题的时候发出

JavaScript 警告。

创建具有错误处理能力的XMLHttpRequest对象

一定要理解这些步骤:

1、创建一个新变量 request 并赋值 false。后面将使用 false 作为判定条件,它表示还没有创

建 XMLHttpRequest 对象。

2、增加 try/catch 块:

3、尝试创建 XMLHttpRequest 对象。

4、如果失败(catch (failed))则保证 request 的值仍然为 false。

5、检查 request 是否仍为 false(如果一切正常就不会是 false)。

6、如果出现问题(request 是 false)则使用 JavaScript 警告通知用户出现了问题。

现在已经得到了一段带有错误检查的XMLHttpRequest对象创建代码,还可以告诉您哪儿出了

问题。

增加对Microsoft浏览器的支持

下面分别介绍每一步:

1、创建一个新变量 request 并赋值 false。使用 false 作为判断条件,它表示还没有创建

XMLHttpRequest 对象。

2、增加 try/catch 块:

3、尝试创建XMLHttpRequest对象。

4、检查 request 是否仍然为 false(如果一切顺利就不会是 false)。

5、如果出现问题(request 是 false)则使用 JavaScript 警告通知用户出现了问题。

这样修改代码之后再使用InternetExplorer试验,就应该看到已经创建的表单(没有错误消息)。

静态代码与动态代码

代码都直接嵌套在script标记中,不放到方法或函数体中的JS代码称为静态JS。这种情