`
江南白衣
  • 浏览: 550089 次
  • 来自: 广州
社区版块
存档分类
最新评论

Web层改进II-用xmlhttp 无声息提交复杂表单

阅读更多

    xmlhttp是在RIA时代没有来临之前,最能使B/S程序远离每个动作刷新一次页面的痛苦做法,同时也是最平民化的一项技术,HelloWord几句话就完成了。

    不过,大家对xmlhttp的应用大多只以Get方式在URL里传递少数的变量。其实即使是大量数据的Form,,只要用Javascript稍加封装,,一样可以用简单的用xmlhttp完成提交,真正做到让用家宾至如归,不到页面本身需要刷新的时候,决不去刷新用家的界面。

客户端:

 function xmlhttp_submit(form_object,url)  for i = 0 to  form_object.elements.length-1		set elem = form_object.elements(i)	        form_value=form_value & URLEncoding(elem.name) & "=" & URLEncoding(elem.value) &"&"  Next  set xmlhttp = CreateObject("Microsoft.XMLHTTP")  xmlhttp.open "POST",url,false  xmlhttp.setRequestHeader "CONTENT-TYPE","application/x-www-form-urlencoded"  xmlhttp.send(form_value)end function上面这段代码遍历了form里的对象,组装出form_value字串,然后通过send()方法以POST方式(不受长度限制)发送给服务器端。 

又是经典的中文编码问题,需要加多一个URLEncoding函数把变量值的字符串编成UTF-8格式,也因此要采用自己不熟悉的VBScript来写form_submit() 。

Function URLEncoding(vstrIn)    strReturn = ""    For i = 1 To Len(vstrIn)        ThisChr = Mid(vStrIn,i,1)        If Abs(Asc(ThisChr)) < &HFF Then            strReturn = strReturn & ThisChr        Else            innerCode = Asc(ThisChr)            If innerCode < 0 Then                innerCode = innerCode + &H10000            End If            Hight8 = (innerCode  And &HFF00)\ &HFF            Low8 = innerCode And &HFF            strReturn = strReturn & "%" & Hex(Hight8) &  "%" & Hex(Low8)        End If    Next    URLEncoding = strReturnEnd Function

服务器端

 没有任何需要特别作的东西,如常响应请求就是了。


分享到:
评论

相关推荐

    e语言-易语言xmlhttp各版本速度比较

    描述中提到的“程序演示了几种xmlhttp对象版本的读网页速度”,这表明该源码包含了一个测试脚本,这个脚本会分别使用不同版本的XMLHTTP对象来加载同一个或多个网页,并记录下所需的时间,以分析哪种版本的性能更优。...

    e语言-Ajax XmlHttp对象参考手册

     现在的绝对多数浏览器都增加了对XmlHttp的支持,IE中使用ActiveXObject方式创建XmlHttp对象,其他浏览器如:Firefox、Opera等通过window.XMLHttpRequest来创建xmlhttp对象。 资源界面:资源下载:

    e语言-易语言XMLHTTP类模块

    资源介绍:易语言XMLHTTP类模块源码例程程序创建MSXML2.XMLHTTP对象实现XMLHTTP类操作。点评:易语言XMLHTTP类模块源码是易语言对象应用例程。资源作者:易语言源码网资源界面:资源下载:

    易语言XMLHTTP方式访问网页.rar

    易语言XMLHTTP方式访问网页.rar 易语言XMLHTTP方式访问网页.rar 易语言XMLHTTP方式访问网页.rar 易语言XMLHTTP方式访问网页.rar 易语言XMLHTTP方式访问网页.rar 易语言XMLHTTP方式访问网页.rar

    VB使用Microsoft.XMLHTTP判断程序是否联入互联网

    ### VB使用Microsoft.XMLHTTP判断程序是否联入互联网 在Visual Basic (VB) 开发环境中,开发者经常需要检测用户的计算机是否连接到了互联网。这种检测对于确保应用程序能够正常运行至关重要,尤其是在那些依赖于...

    cn-jp.rar_vb xmlHttp_xmlhttp_网页 提交

    本程序主要以 http://www.excite.co.jp 网站的在线翻译功能为基础,用VB模仿浏览器的提交过程将需要翻译的文本提交给网页,然后分析网页返回结果,并将其结果返回到文本框内显示出来,支持UTF-8编码

    ajax提交form表单

    在IT领域,特别是Web开发中,使用Ajax(Asynchronous JavaScript and XML)进行form表单的无刷新提交是一项关键技能。这种技术允许网页在不重新加载整个页面的情况下与服务器交互,从而提高了用户体验。以下是对给定...

    AJAX核心-XMLHTTP对象

    **使用XMLHTTP对象的步骤** 1. 创建XMLHTTP对象。 2. 初始化请求,设置URL、请求类型和异步性。 3. 注册事件处理函数,通常会用到`onreadystatechange`,检查`readyState`和`status`来判断请求是否成功完成。 4. ...

    ASP利用XMLHTTP实现表单提交以及cookies的发送的代码

    总之,XMLHTTP对象是ASP中处理异步HTTP请求的强大工具,它使得服务器端代码能够模拟浏览器行为,执行表单提交和管理cookies,这对于开发复杂的Web应用程序非常有用。同时,理解如何正确设置请求头和处理数据编码是...

    vb6用的xmlhttp模块,get和post方式提交数据,异步获取,不卡死,十分好用

    这个标题提到的"vb6用的xmlhttp模块"实际上是指使用VB6(Visual Basic 6)编程时,通过XMLHTTP组件进行GET和POST请求,以实现异步的数据提交和获取,避免程序卡死的情况。这种技术对于创建网络投票程序、信息采集...

    VFP xmlHTTP应用实例

    在这个实例中,xmlHTTP对象作为表现层和业务逻辑层之间的通信桥梁,表现层通过xmlHTTP向业务逻辑层发送请求,业务逻辑层再调用数据访问层获取或更新数据,最后将结果通过xmlHTTP返回给表现层。 附带的"xmlhttp.SCT...

    如何使用post提交网页表单中的数据

    本篇文章将详细介绍如何在VB(Visual Basic)环境中使用POST方法提交网页表单中的数据。 首先,理解POST请求的基本原理。POST请求是HTTP协议中的一个请求方法,它将数据封装在请求体中发送到服务器。与GET请求不同...

    xmlhttp.rar_XMLHTTP delphi_delphi xmlHt_delphi xmlhttp_xmlhttp

    这个“xmlhttp.rar”压缩包包含的资源是关于如何在Delphi环境中使用XMLHTTP组件来从网络获取数据,特别是通过调用百度API获取实时时间的示例。这对于初学者来说是一个很好的起点,因为它可以帮助理解如何与Web服务...

    post提交网页表单.zip_vb post提交_vb 网页表单_vb使用post提交表单并获取返回值_表单

    总之,VB中的POST提交涉及XMLHTTP对象的使用、请求头的设置、表单数据的构建和发送,以及服务器响应的处理。掌握这些知识点,你就可以在VB中实现网页表单的数据提交,并获取服务器的返回结果。在实际项目中,根据...

    采用XMLHTTP protocol实现.NET Web Services的远程提交操作

    标题"采用XMLHTTP protocol实现.NET Web Services的远程提交操作"主要涵盖了两个关键点:XMLHTTP协议和.NET Web Services的远程调用。首先,理解XMLHTTP协议是至关重要的,它是基于HTTP协议的一种轻量级通信方式,...

    在VC中使用XMLHTTP

    ### 在VC中使用XMLHTTP详解 #### 一、引言 在.NET框架中,通过C#语言使用XMLHTTP进行HTTP请求十分便捷。然而,在传统的Windows应用程序开发环境VC++ 6.0中,开发者可能需要更加深入地了解COM对象模型以及相关的...

    3种开发模式(XMLHTTP+Web Form、XMLHTTP+HttpHandler和Call Back)开发Hello Word程序

    Web Form适合大型、复杂的表单应用,提供丰富的控件和事件模型;HttpHandler则适用于需要高效、低开销的简单任务;而Callback则能提供更好的用户体验,减少不必要的页面刷新。选择哪种模式取决于具体项目的需求和...

    易语言-易语言xmlhttp各版本速度比较

    这种非阻塞的特性使得XMLHTTP在Web应用程序中非常有用。 本项目可能包含了以下版本的XMLHTTP对象: 1. XMLHTTP 3.0:这是早期的版本,常见于较旧的IE浏览器和MSXML库中。虽然功能相对简单,但在某些情况下可能速度...

Global site tag (gtag.js) - Google Analytics