使用xmlhttp.send()方法的参数来传递大容量的数据
来源:互联网 发布:js鼠标移入图片放大 编辑:程序博客网 时间:2024/06/02 20:20
这个标题不知道怎么取才好,其实要实现的功能就是在客户端要将大量的数据传递到服务端,我们知道url的长度是有限制的,如果使用url的参数来传递数据,只能传递很少的关键信息,但有时候我们要传递大量的信息,比如一张单据中的所有商品的商品编号等等.
Ajax技术中的xmlhttp.send()方法提供我们传送大量数据的功能,要使用该功能,首先要将要传到服务端的数据封装在一个xml对象中,在将这个xml对象的xml属性做为send()方法的参数就可以.
客户端代码:
var guidArray=guidlist.split(",");
var xmlDom=new ActiveXObject("MSXML2.DOMDocument");
xmlDom.loadXML("");
var domRoot= xmlDom.createElement("NewDataSet");
xmlDom.appendChild(domRoot);
for(var i=0;i<guidArray.length;i++)
{
var node= xmlDom.createElement("guid");
node.text=guidArray[i];
domRoot.appendChild(node);
}
var xmlhttp=new ActiveXObject("MSXML2.XMLHTTP");
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4)
{
if (xmlhttp.status==200)
{
alert("处理完成");
}
else
{
alert(xmlhttp.responseText);
}
}
}
xmlhttp.Open("POST","fmSmsPostProcess.aspx?sStatus="+escape(sStatus)+"&sProcessResult="+escape(document.getElementById("btProcessResult").value)+
"&sReStore="+escape(document.getElementById("btReStore").value),true);
xmlhttp.setRequestHeader("Content-Type","text/xml");
xmlhttp.send(xmlDom.xml);
服务端需要从请求流中,解析出客户端传入的xml的内容,服务端代码:
System.IO.Stream instream = Page.Request.InputStream;
BinaryReader br = new BinaryReader(instream,System.Text.Encoding.UTF8);
byte[] byt = br.ReadBytes((int)instream.Length);
string sXml = System.Text.Encoding.UTF8.GetString(byt);
System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
xmlDoc.LoadXml(sXml);
XmlElement xe= xmlDoc.DocumentElement;
for(int i=0;i< xe.ChildNodes.Count;i++)
{
sGuid = sGuid + ",'" + xe.ChildNodes[i].InnerText+"'";
}
- 使用xmlhttp.send()方法的参数来传递大容量的数据
- 使用xmlhttp.send()方法的参数来传递大容量的数据
- send()方法传递参数null的问题
- Ajax中send方法参数的使用
- Ajax中send方法参数的使用
- Ajax中send方法参数的使用
- Android 中使用Bundle传递大容量数据问题
- Android 中使用Bundle传递大容量数据问题
- 使用EventBus来实现数据的传递
- struts2传递大数据的方法
- javascript向jsp传递参数的一种手段-----使用xmlhttp对象
- 使用Splatting方法来传递参数
- 大容量数据分页显示的探索
- xmlhttp的onreadystatechange为什么在send前面
- PB9读写大容量文件的方法
- watir send key方法的参数集合
- 类似Xmlhttp获取数据的Flex方法~
- 参数传递的方法
- Struts2中#、%和$这三个符号的使用方法
- C#程序设计(三十二)----复制图片
- android自定义title bar
- UVa 374 - Big Mod
- JavaScript解析Json
- 使用xmlhttp.send()方法的参数来传递大容量的数据
- 什么是geotools
- Cocos2d-x基础示例 精灵移动3
- 在Ubuntu 12.04工具栏上用数字显示网速、CPU负荷和内存占用量,安装触摸板管理器,GNOME 风格的应用程序菜单
- 在线地图
- 【小蒙淘金】11月25日周评(前瞻)-知己知彼,百战不殆!
- XMLHTTP应用参考
- 银行系统多用户初步(动态链表)
- 何为Geoserver