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

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语言-Ajax XmlHttp对象参考手册

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

    e语言-易语言XMLHTTP类模块

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

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

    程序演示了几种xmlhttp对象版本的读网页速度。

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

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

    cn-jp.rar_vb xmlHttp_xmlhttp_网页 提交

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

    XmlHttp手册XmlHttp手册

    XmlHttp手册XmlHttp手册XmlHttp手册XmlHttp手册XmlHttp手册

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

    确实,如果在原网站如果存在表单提交或cookies的验证,对于ASP来说,不使用基于SOCKET的组件就难以完成,其实,XMLHTTP的另外两个方法被我们忽略了,而这正是问题的关键。 下面首先来说说这个方法 1。.send() 由于...

    ASP小偷程序如何利用XMLHTTP实现表单的提交

    [原创]ASP小偷程序如何利用XMLHTTP实现表单的提交以及cookies或session的发送 利用XMLHTTP来制作小偷的具体细节落伍很多人都发过和讨论过了,但是在制作ASP小偷的过程中,很多人就发现ASP小偷不如PHP小偷的那么强 大...

    利用XMLHTTP无刷新添加数据之Post篇

    利用XMLHTTP无刷新添加数据之Post篇.chm利用XMLHTTP无刷新添加数据之Post篇.chm

    XMLHTTP无刷新自动实时更新数据

    XMLHTTP无刷新自动实时更新数据 来源:bbs.okajax.com

    详解XMLHTTP控件的应用

    考试完了我反正没什么事,就写了篇文章详细地介绍一下Microsoft.XMLHTTP对象的使用,文章浅显,主要针对对这个对象不太了解的人。 首先,Microsoft.XMLHTTP是一个控件,而且是系统默认自带的控件(Windows98以下除外...

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

    Consuming .NET Web Services using XMLHTTP protocol,通过XMLHTTP protocol技术实现客户端调用WebService服务的后台方法与函数。

    xmlhttp说明文档,xmlhttp中文帮助文档,chm格式

    xmlhttp中文帮助文档 Xmlhttp是一种浏览器对象, 可用于模拟http的GET和POST请求。配合JavaScript可以实现页面数据在无刷新下的定时数据更新,如果应用在聊天室、文字直播上可以取得较好的视觉效果。 使用范例: ...

    XMLHttp无刷新JSP聊天室

    XMLHttp无刷新JSP聊天室,历史上最小的XMLHttp无刷新JSP聊天室,基本上没有什么功能,此程序只为学习使用无刷新技术者使用。

    xmlhttp

    介绍xmlhttp比较的详细

    在VC中使用XMLHTTP

    主 题: 在VC中使用XMLHTTP,怎样初始化,怎样建立连接?在线等。 我的一段代码在.NET中用C#已经调通,我想搬到VC++ 6.0上,但不知道任何各种写法规则。 C# 中为: MSXML2.XMLHTTP xmlHttp_ = new ...

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

    以前写的一个xmlhttp提交数据的类模块,能有效地解决xmlhttp组件卡死问题,可用于,制件网络投票程序,网络信息收集程序

    易语言-易语言XMLHTTP类模块

    易语言XMLHTTP类模块源码例程程序创建MSXML2.XMLHTTP对象实现XMLHTTP类操作。 点评:易语言XMLHTTP类模块源码是易语言对象应用例程。 易语言源码网

Global site tag (gtag.js) - Google Analytics