65.9K
CodeProject 正在变化。 阅读更多。
Home

使用 XMLHTTP 刷新 Web 页面的部分内容

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.31/5 (10投票s)

2001年5月16日

2分钟阅读

viewsIcon

252793

downloadIcon

3036

本文解释了如何使用 XMLHTTP 选择性地刷新网页的部分内容

引言

你是否曾经需要只刷新网页的特定部分,而无需刷新整个页面? 如果是,你并不孤单。幸运的是,有很多解决方案可以解决这个问题,包括远程脚本和 XMLHTTP。 本文解释了如何使用 XMLHTTP 刷新网页的一部分,而无需刷新整个页面。

XMLHTTP

XMLHTTP 对象可用于从 Web 浏览器向服务器发出 HTTP 请求。 XMLHTTP 是 Microsoft XML 解析器的一部分,如果你安装了 Internet Explorer,它就已经安装在你的机器上了。

请参考 MSDN 帮助文档了解如何使用 XMLHTTP 对象。 此外,我建议你先阅读我的文章 从 MFC/Windows 应用程序发出 HTTP 通信,因为我在这里也使用了相同的技术。

示例

Sample app screenshot

在上面的示例网页中,我们可以从国家/地区列表框中选择一个国家/地区。 对于选定的国家/地区,我们将显示该国家/地区的所有州/省份的列表。 当你单击一个国家/地区时,将向 Web 服务器发送 HTTP 请求,以获取该特定国家/地区的所有州/省份。 州/省份列表框将使用服务器返回的结果进行刷新。 请注意,我们没有使用提交来向 Web 服务器发送 HTTP 请求。 相反,我们使用 XMLHTTP,因为我们不希望刷新整个页面。 另外,请注意,请求和响应都是 XML 字符串,我们将不得不使用 XML DOM 来读取节点值。

如果你在国家/地区列表框中选择了加拿大,则从 Web 浏览器发送到 Web 服务器的 XML 请求字符串如下所示

<RequestStates Country='Canada'></RequestStates>

服务器(在本例中为 states.asp)将处理此请求并发送回 XML 响应,如下所示

<Response>
	<State>Alberta
	<State>British Columbia
	<State>Ontario
	<State>Quebec
</Response>

客户端必须处理此 XML 响应并更新州/省份列表框。 demo.html 中的 DisplayStates() 函数负责此功能。

相关文章

文章 仅刷新网页的一部分 讨论的是相同的主题。 但是,它使用远程脚本(而不是 XMLHTTP)来刷新网页的一部分。

安装说明

将源代码(states.aspdemo.html)下载到 Web 服务器的根目录。 请注意,示例应用程序假定 Web 服务器与客户端运行在同一台机器上。 如果 Web 服务器运行在不同的机器上,则必须在 XMLHTTP 的 open() 方法中(在 demo.html 中)相应地更改 URL 名称。 如果指定的 URL 错误,此示例应用程序将无法工作。

© . All rights reserved.