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


Posted in Javascript onJanuary 22, 2007

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 & ThisChrElse
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 IfNext
URLEncoding = strReturn
End Function
服务器端
没有任何需要特别作的东西,如常响应请求就是了。

Javascript 相关文章推荐
JS中操作JSON总结
Dec 06 Javascript
通过jquery 获取URL参数并进行转码
Aug 18 Javascript
node.js中的buffer.copy方法使用说明
Dec 14 Javascript
jQuery中[attribute]选择器用法实例
Dec 31 Javascript
JavaScript入门教程之引用类型
May 04 Javascript
js实现截图保存图片功能的代码示例
Feb 16 Javascript
Node.js调试技术总结分享
Mar 12 Javascript
parabola.js抛物线与加入购物车效果的示例代码
Oct 25 Javascript
vue获取当前点击的元素并传值的实例
Mar 09 Javascript
ES6知识点整理之数组解构和字符串解构的应用示例
Apr 17 Javascript
JS使用iView的Dropdown实现一个右键菜单
May 06 Javascript
VUE 动态组件的应用案例分析
Dec 02 Javascript
用正则xmlHttp实现的偷(转)
Jan 22 #Javascript
通过MSXML2自动获取QQ个人头像及在线情况(给初学者)
Jan 22 #Javascript
Javascript技术技巧大全(五)
Jan 22 #Javascript
深入认识JavaScript中的函数
Jan 22 #Javascript
Ajax::prototype 源码解读
Jan 22 #Javascript
showModalDialog 和 showModelessDialog
Jan 22 #Javascript
javascript 中对象的继承〔转贴〕
Jan 22 #Javascript
You might like
php中处理模拟rewrite 效果
2006/12/09 PHP
php 字符转义 注意事项
2009/05/27 PHP
PHP实现数组array转换成xml的方法
2016/07/19 PHP
php操纵mysqli数据库的实现方法
2016/09/18 PHP
20个最新的jQuery插件
2012/01/13 Javascript
分享一道笔试题[有n个直线最多可以把一个平面分成多少个部分]
2012/10/12 Javascript
分享一个我自己写的ToolTip提示插件(附源码)
2013/01/20 Javascript
js函数中onmousedown和onclick的区别和联系探讨
2013/05/19 Javascript
JS实现图片剪裁并预览效果
2016/08/12 Javascript
webpack实用小功能介绍
2018/01/02 Javascript
微信小程序Getuserinfo解决方案图解
2018/08/24 Javascript
echarts多条折线图动态分层的实现方法
2019/05/24 Javascript
Vue.js实现大转盘抽奖总结及实现思路
2019/10/09 Javascript
vue 解决异步数据更新问题
2019/10/29 Javascript
JS Html转义和反转义(html编码和解码)的实现与使用方法总结
2020/03/10 Javascript
以windows service方式运行Python程序的方法
2015/06/03 Python
Python 绘图和可视化详细介绍
2017/02/11 Python
基于python中pygame模块的Linux下安装过程(详解)
2017/11/09 Python
Python实现的矩阵转置与矩阵相乘运算示例
2019/03/26 Python
深入浅析python 协程与go协程的区别
2019/05/09 Python
python3字符串操作总结
2019/07/24 Python
Python一键查找iOS项目中未使用的图片、音频、视频资源
2019/08/12 Python
tensorflow -gpu安装方法(不用自己装cuda,cdnn)
2020/01/20 Python
Python计算IV值的示例讲解
2020/02/28 Python
详解解决jupyter不能使用pytorch的问题
2021/02/18 Python
HTML5 3D衣服摇摆动画特效
2016/03/17 HTML / CSS
美国药妆网站:EDCskincare.com(防晒、痤疮、抗衰老等)
2017/04/28 全球购物
德国领先的大尺码和超大尺码男装在线零售商:Bigtex
2019/06/22 全球购物
Etam德国:内衣精品店
2019/08/25 全球购物
俄罗斯电子产品、计算机和家用电器购物网站:OLDI
2019/10/27 全球购物
广州盈通面试题
2015/12/05 面试题
公司培训心得体会
2014/01/03 职场文书
《临死前的严监生》教学反思
2014/02/13 职场文书
2014年扶贫工作总结
2014/11/18 职场文书
详解Java七大阻塞队列之SynchronousQueue
2021/09/04 Java/Android
python如何读取和存储dict()与.json格式文件
2022/06/25 Python