`
zhaixoahu
  • 浏览: 133567 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用xmlhttp.send()方法的参数来传递大容量的数据

阅读更多

   这个标题不知道怎么取才好,其实要实现的功能就是在客户端要将大量的数据传递到服务端,我们知道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说明文档,xmlhttp中文帮助文档,chm格式

    XmlHttp.send getHtmlStr = StrConv(XmlHttp.ResponseBody, vbUnicode) Set XmlHttp = Nothing vb中下载文件的方法: Dim XmlHttp, Sobj Set XmlHttp = CreateObject("Microsoft.XMLHTTP") XmlHttp.Open ...

    WEB QQ登录VB实例

    XmlHttp.send stime = Now '获取当前时间 While XmlHttp.ReadyState &lt;&gt; 4 DoEvents ntime = Now '获取循环时间 If DateDiff("s", stime, ntime) &gt; 3 Then getHtmlStr = "": Exit Function '判断超出3秒即超时...

    XMLHTTP对象参考手册

    客户端可以通过XmlHttp对象(MSXML2.XMLHTTP.3.0)向http服务器发送请求并使用微软XML文档对象模型Microsoft® XML Document Object Model (DOM)处理回应。 现在的绝对多数浏览器都增加了对XmlHttp的支持,IE中使用...

    XMLHTTP中setRequestHeader参数问题

    ajax 请求头部设置 XMLHTTP中setRequestHeader参数问题

    XMLHTTP.rar_xmlhttp

    XMLHTTP 手册.CHM 学习XMLHTTP的好教程,非常值得一看

    XMLHTTP.CHM

    客户端可以通过XmlHttp对象(MSXML2.XMLHTTP.3.0)向http服务器发送请求并使用微软XML文档对象模型Microsoft® XML Document Object Model (DOM)处理回应。 现在的绝对多数浏览器都增加了对XmlHttp的支持,IE中使用...

    XmlHttp.rar_xmlhttp

    XmlHttp是什么?XmlHttp对象的属性、方法。

    Ajax原理分析及其实现的简单代码

    xmlHttp.send(null); xmlHttp.onreadystatechange = function() { //回调函数 resultHandle=null; if(xmlHttp.readyState == 4 && xmlHttp.status == 200) { resultHandle=xmlHttp.responseText; ...

    xmlhttp.rar_xmlhttp

    xmlhttp对象参考,已编译的html帮助文件

    xmlHTTP.rar_xmlhttp_xmlhttp java_xmlhttp下载

    xmlHttp 这上一个异步传输的例子。在web应用中可以实现在刷新数据不刷新页面的效果

    关于HTTP及XMLHTTP状态代码一览.txt

    关于HTTP及XMLHTTP状态代码一览.txt 关于HTTP及XMLHTTP状态代码一览.txt 关于HTTP及XMLHTTP状态代码一览.txt

    xmlhttp.chm

    xmlhttp.chm参考手册

    xmlhttp.rar_XMLHTTP delphi_delphi xmlHt_delphi xmlhttp_xmlhttp

    用xmlhttp获取百度时间,适合xmlhttp初学者。

    XmlHttp.rar_firefox_opera_xmlhttp

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

    XMLHTTP对象参考

    客户端可以通过XmlHttp对象(MSXML2.XMLHTTP.3.0)向http服务器发送请求并使用微软XML文档对象模型Microsoft® XML Document Object Model (DOM)处理回应。 现在的绝对多数浏览器都增加了对XmlHttp的支持,IE中使用...

    XMLHTTP类模块.rar

    XMLHTTP类模块.rar XMLHTTP类模块.rar XMLHTTP类模块.rar XMLHTTP类模块.rar XMLHTTP类模块.rar XMLHTTP类模块.rar

    Ajax 给 XMLHttpReq.onreadystatechange传递参数

    Ajax 给 XMLHttpReq.onreadystatechange传递参数 通过: xmlhttp.onreadystatechange= function(){xx(123)}; or xmlhttp.onreadystatechange= new Function(“xx(123)”); 就可以了。 代码如下: Ajax 给 XMLHttpReq....

    在VC中使用XMLHTTP

    xmlHttp_.send(null); 放到VC++ 6.0 中应为什么? 以下是我写的,但运行出错。 #import "msxml4.dll" using namespace MSXML2; HRESULT hr; //MSXML2::IXMLHTTPRequest pIXMLHttpRequest; CString serverUrl ...

    易语言源码易语言XMLHTTP类模块源码.rar

    易语言源码易语言XMLHTTP类模块源码.rar

Global site tag (gtag.js) - Google Analytics