快速业务通道

iframe创建智能表单

作者 佚名技术 来源 网页制作 浏览 发布时间 2012-03-07

16.5  使用iframe创建智能表单

使用XMLHttpRequest对象实现Ajax功能的好处在于XMLHttpRequest对象使用简单。只需创建一个XMLHttpRequest对象,然后发送请求并等待服务器的响应。不幸的是,使用JavaScript对象具有一个弊端,即浏览器并不会在其历史记录中保存由XMLHttpRequest对象发起的HTTP请求。因此,实际上XMLHttpRequest对象使得浏览器的Back按钮功能失效了。

相关文章:XMLHttpRequest创建智能表单

实现智能表单的第二个解决方案就是使用一项早期的Ajax技术,即使用隐藏框架(frame)或隐藏内嵌框架(iframe)来实现客户端/服务器之间的通信。为了正确地实现Ajax功能,必须使用两个框架页,其中,一个框架页必须是隐藏的,另一个框架页则必须是可见的。

注意:

当使用iframe来实现Ajax技术时,包含iframe的页面必须是可见的。

隐藏框架技术实现Ajax通常由4个过程组成。第一步是由用户的某种行为引发了一个对隐藏框架的请求。这包括用户单击了在可见框架页中的超链接,或者由用户的其他交互行为所引发。通常情况下,对隐藏框架页的请求仅仅是将隐藏框架页重定向到一个服务器上指定的服务端程序。对隐藏框架页的重定向将自动触发第二个过程:即向服务器发送请求。

在服务器程序完成了对请求的处理之后,将发生第三个过程:即服务器将响应发送回隐藏框架页。服务器端的响应是一个Web页面,该页面将被发送给隐藏框架。当来自服务器的响应被完全接收后,隐藏框架中的Web页面将发起与可见框架页的联系,并告知可见框架,服务器的响应已经成功。这就是第四个过程,该过程通常在隐藏框架的window.onload事件处理器中完成。

这一小节中的例子将基于前一小节中所创建的程序。但不同的是,我们将通过隐藏框架来实现浏览器与服务器之间的通信。在编写代码之前,我们先来讨论一下从服务器将返回什么样的数据。

注意:

下面的例子并不适用于Safari浏览器,Safari浏览器并不会在其历史记录中保存iframe内嵌框架的浏览历史。

服务器将如何响应请求

当我们使用XMLHttpRequest对象从服务器获取数据时,在服务器的响应中仅需要包含很少的关键字。尽管所包含的关键字可能有所不同,但是服务器的响应必须由以下两部分组成:

●       第一是必须包含响应的数据,而且该数据必须是HTML格式。

●       第二是当iframe接收到HTML形式的响应时,必须有一个机制通知父框架页中的文档。

记住这两个组成部分

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号