2005年02月06日 12:47:00

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

服务器端

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

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=282758

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

  1. 学习日志day45(2021-09-09)(1、有道翻译API使用json格式数据 2、JSONP 3、Ajax提交form表单 4、Web Uploader)

    学习内容:学习JavaWeb(Day45) 1.有道翻译API使用json格式数据 2.JSONP 3.Ajax提交form表单 4.Web Uploader 1.有道翻译API使用json格式数据 ...

  2. Web应用中基于密码的身份认证机制(表单认证、HTTP认证: Basic、Digest、Mutual)

    Web应用中基于密码的身份认证机制 背景概念 认证(Authentication) 会话管理 1 表单认证(Form-Based Authentication) 1.1 介绍 1.2 流程 2 通用的 ...

  3. ajax如何提交多表单的值_Java Web初学者探索学习笔记7—矛盾解决方案:表单标签验证与ajax提交...

    这段时间前端开发过程中,关于<form>表单下的输入框信息验证和数据提交问题出现矛盾. 问题描述: 表单下利用<input type="text" pattern ...

  4. Web前端开发笔记——第二章 HTML语言 第八节 表单标签

    目录 一.表单的定义 二.输入标签 (一)文本框和密码框 (二)提交按钮和重置按钮 (三)数值选项菜单 (四)滑动条 (五)搜索框 (六)input标签的其它type属性 (七)单选框和复选框 (八) ...

  5. 深入浅出SharePoint2010——请假系统无代码篇之表单设计

    转载于:https://www.cnblogs.com/mingle/p/SharePoint2010_WithoutCode_FormDesign.html

  6. ajax提交form表单到数据库(无刷新)

    在静态页面提交表单到数据库很简单就是单纯的 <form action="test.php" method="post"> </form> ...

  7. Flask之Web表单使用

    Web表单使用 @(Flask) request对象包含客户端发出的所有请求信息. request.form能获取POST请求中提交的表单数据. 使用的包 Flask-WTF可以把处理Web表单的过程 ...

  8. web前端技术——三、表单

    3.1概述 From表单,负责采集和提交用户的输入信息 表单分为表单标签和表单控件 表单控件又分为表单域和按钮 常见表单域包括文本框.密码框.多行文本框.单选按钮.复选框.下拉选择框 在表单域录入数据 ...

  9. python-flask(二)集成bootstrap、集成web表单、集成邮件发送

    文章目录 一.flask集成bootstrap 1. 什么是Bootstrap? 2. Flask中如何集成Bootstrap? 3. Flask-Bootstrap实现了什么? 二.Flask中集成 ...

最新文章

  1. 电脑编程教学_河东CNC产品零件编程培训量身定制课程大纲
  2. Oracle数据库之子查询
  3. 经常使用Log日志打印输出
  4. Linux下安装Perl模块
  5. java: 程序包com.alibaba.fastjson不存在_Java开发中的异常
  6. 分享codeigniter 路由(URL)终极优化
  7. Python day 9(3) 定制类
  8. python中while的用法_Python—while循环,内涵五种九九乘法表
  9. python编程新手常犯的错误_初学者开发人员都会犯的7个Python错误
  10. Nature子刊:高通量蛋白质组学方法学综述
  11. Win10如何修改外接显示器分辨率
  12. 2019西安交通大学计算机复试,西安交通大学2019考研复试分数线多少分 各科基本分数线一览...
  13. Cisco路由器之IPSec 虚拟专用网(内附配置案例)
  14. 固定资产管理系统 概要说明书说明书
  15. Unity-黑暗之魂复刻-玩家输入输出
  16. 萌新卷妹带你逃出算法无名岛第六站
  17. Uni-app实现表格数据自动滚动(无限滚动)
  18. Android短彩信源码解析-短信发送流程(一)
  19. 评估Panzyga® (NewGam)三种不同剂量对慢性炎性脱髓鞘性多发性神经病变(CIDP)有效性和安全性的ProCID研究终局结果在2020年AAN呈报
  20. 几本经典的云计算方面的书籍下载-电子书下载

热门文章

  1. 基于javaweb的校园机房管理平台的设计与实现(毕业设计论文+程序源码)
  2. 基于S3C2440的Linux-3.6.6移植——声卡驱动
  3. 单片机17种常见的电路设计模块
  4. 文本相似性计算之编辑距离详解
  5. 2019秋季高校计算机等级考试,关于组织2019年秋季省高校计算机等级考试报名工作的通知...
  6. 手机号号段,正则,校验
  7. 自动化PXE系统安装
  8. Jmeter API文档分析
  9. Html首行缩进两个字符(写博客用的比较多)
  10. 3 Kong 管理运维