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






4.31/5 (10投票s)
2001年5月16日
2分钟阅读

252793

3036
本文解释了如何使用 XMLHTTP 选择性地刷新网页的部分内容
引言
你是否曾经需要只刷新网页的特定部分,而无需刷新整个页面? 如果是,你并不孤单。幸运的是,有很多解决方案可以解决这个问题,包括远程脚本和 XMLHTTP。 本文解释了如何使用 XMLHTTP 刷新网页的一部分,而无需刷新整个页面。
XMLHTTP
XMLHTTP 对象可用于从 Web 浏览器向服务器发出 HTTP 请求。 XMLHTTP 是 Microsoft XML 解析器的一部分,如果你安装了 Internet Explorer,它就已经安装在你的机器上了。
请参考 MSDN 帮助文档了解如何使用 XMLHTTP 对象。 此外,我建议你先阅读我的文章 从 MFC/Windows 应用程序发出 HTTP 通信,因为我在这里也使用了相同的技术。
示例
在上面的示例网页中,我们可以从国家/地区列表框中选择一个国家/地区。 对于选定的国家/地区,我们将显示该国家/地区的所有州/省份的列表。 当你单击一个国家/地区时,将向 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.asp 和 demo.html)下载到 Web 服务器的根目录。 请注意,示例应用程序假定 Web 服务器与客户端运行在同一台机器上。 如果 Web 服务器运行在不同的机器上,则必须在 XMLHTTP 的 open()
方法中(在 demo.html 中)相应地更改 URL 名称。 如果指定的 URL 错误,此示例应用程序将无法工作。