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 相关文章推荐
Javascript里使用Dom操作Xml
Sep 20 Javascript
Prototype RegExp对象 学习
Jul 19 Javascript
js监听键盘事件示例代码
Jul 26 Javascript
JS实现至少包含字母、大小写数字、字符的密码等级的两种方法
Feb 03 Javascript
AngularJS身份验证的方法
Feb 17 Javascript
微信开发 js实现tabs选项卡效果
Oct 28 Javascript
jQuery日程管理控件glDatePicker用法详解
Mar 29 jQuery
解决VUE框架 导致绑定事件的阻止冒泡失效问题
Feb 24 Javascript
layui 优化button按钮和弹出框的方法
Aug 15 Javascript
原生JS实现逼真的图片3D旋转效果详解
Feb 16 Javascript
搭建Vue从Vue-cli到router路由护卫的实现
Nov 14 Javascript
微信小程序连接服务器展示MQTT数据信息的实现
Jul 14 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
推荐文章系统(一)
2006/10/09 PHP
模仿OSO的论坛(三)
2006/10/09 PHP
php 进度条实现代码
2009/03/10 PHP
CodeIgniter与PHP5.6的兼容问题
2015/07/16 PHP
yii2.0实现pathinfo的形式访问的配置方法
2016/04/06 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
围观tangram js库
2010/12/28 Javascript
jQuery事件之键盘事件(ctrl+Enter回车键提交表单等)
2014/05/11 Javascript
推荐JavaScript实现继承的最佳方式
2014/11/11 Javascript
js实现弹窗暗层效果
2017/01/16 Javascript
Vuex利用state保存新闻数据实例
2017/06/28 Javascript
使用MUI框架模拟手机端的下拉刷新和上拉加载功能
2017/09/04 Javascript
iView框架问题整理小结
2018/10/16 Javascript
vue组件开发props验证的实现
2019/02/12 Javascript
Nodejs实现用户注册功能
2019/04/14 NodeJs
ios中视频的最后一桢问题解决
2019/05/14 Javascript
浅谈laytpl 模板空值显示null的解决方法及简单的js表达式
2019/09/19 Javascript
Python3.5.3下配置opencv3.2.0的操作方法
2018/04/02 Python
Python实现的凯撒密码算法示例
2018/04/12 Python
tensorflow实现逻辑回归模型
2018/09/08 Python
Python + Requests + Unittest接口自动化测试实例分析
2019/12/12 Python
Python 批量读取文件中指定字符的实现
2020/03/06 Python
python图片剪裁代码(图片按四个点坐标剪裁)
2020/03/10 Python
python 匿名函数与三元运算学习笔记
2020/10/23 Python
Python命令行参数argv和argparse该如何使用
2021/02/08 Python
Clarks鞋美国官网:全球领军鞋履品牌
2017/05/13 全球购物
阿根廷旅游网站:almundo阿根廷
2018/02/12 全球购物
医学生临床实习自我评价
2014/03/07 职场文书
大学军训感言400字
2014/03/11 职场文书
机械操作工岗位职责
2014/08/08 职场文书
医学生自荐信范文
2015/03/05 职场文书
学校禁毒宣传活动总结
2015/05/08 职场文书
2016年4月份红领巾广播稿
2015/12/21 职场文书
2016个人先进事迹材料范文
2016/03/01 职场文书
浅谈mysql增加索引不生效的几种情况
2021/06/23 MySQL
Matplotlib绘制条形图的方法你知道吗
2022/03/21 Python