`
爱像天空
  • 浏览: 197393 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

AJAX大量数据xml格式提交

    博客分类:
  • ajax
阅读更多
Ajax的GET和POST的两种提交方法,get主要是少量数据的提交,在这里我谈谈用post方法发送大量数据的过程.

此处我将所有内容打包为一个xml文件流,避免了长参数的发送,在服务器端直接载入xml解析,十分方便,数据也没有丢失现象.

下为过程的实现思路:

//第一步:创建一个XML的DOM对象,可用如下方法完成
function CreateDomDoc()   //创建XML文档对象
{
    var signatures= ["Msxml2.DOMDocument.5.0","Msxml2.DOMDocument.4.0","Msxml2.DOMDocument.3.0","Msxml2.DOMDocument","Microsoft.XmlDom"];
    for(var i=0;i<signatures.length;i++)
    {
       try
       {
          var domDoc = new ActiveXObject(signatures[i]);
          return domDoc;
       }
       catch(e)
       {
       }
    }
    return null;
}

//第二步:从客户端取得数据写入XM,方法如下:
function CreateXml(doc)
{
    var root= doc.createElement("root");
    var title= doc.createElement("title");
    title.text= document.getElementById("title").value;
    root.appendChild(title);
    var homepage = doc.createElement("homepage");
    homepage.text= document.getElementById("homepage").value;
    root.appendChild(homepage);
    doc.appendChild(root);
    //alert("ddddd");
    return doc.xml;
}

//第三步 互相调用
var domDoc = CreateDomDoc(); //创建对象 将用send发送到服务器端
if(domDoc!=null)
{
    var xml = CreateXml(domDoc); //写入xml 返回xml文档
    alert(domDoc);//
}
else
{
   alert("未安装MSXML控件");
}

//第四步 AJAX发送
var xmlhttp=createxmlhttp();
xmlhttp.onreadystatechange = function()
{
    if(xmlhttp.readyState == 4)
    {
        if(xmlhttp.status == 200)
        {         
            info =xmlhttp.responseText;
            //alert(info);
        }
        else
        {    
           alert("ajax调用失败!"+xmlhttp.status);
        }       
    }   
}
xmlhttp.open("POST","ajaxserver.aspx?type=add",false);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;"); //关键,否则出错
xmlhttp.send(domDoc); //发送一定是domDoc文档对象,如果只发送xml将出错”statue=500”

服务器端:

设置接受类型,防止中文出现乱码情况

Request.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");

XmlDocument xmldoc = new XmlDocument(); //建立xml文档对象

xmldoc.Load(Request.InputStream); //接受ajax发送的xml文档对象流 //也可以接受普通字符流

XmlNode node = xmldoc.SelectSingleNode("//title"); //获得title节点

title = node.InnerText; //取得节点值

部分解释:

xmlhttp.open("POST","ajaxserver.aspx?type=add",false);

open方法至少包含上述三个参数,

post/get :发送类型

ajaxserver.aspx?type=add :请求页面路径

false :   可以是true,当为true是请求异步,发送可以可以继续使用表单,false时发送后锁定表单,直到返回结果.
分享到:
评论
2 楼 Drakedog 2010-10-14  
现在知道是jar包里的,但是好像不是org.apache.crimson.tree.XmlDocument。这个里面的xmldoc对象没有load方法啊。
1 楼 Drakedog 2010-10-14  
XmlDocument 这个是要自己写 吗?

相关推荐

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    我们在前面第一章讲到XML是将数据和格式分离的。XML文档本身不知道如何来显示,必须有辅助文件来帮助实现。(XML取消了所有标识,包括font,color,p等风格样式定义标识,因此XML全部是采用类似DHTML中CSS的方法来定义...

    大名鼎鼎的IBM公司 Ajax 培训资料

    以迅速更新表单数据,让人感觉应用程序是立即完成的,表单没有提交或刷新而用户得到了新数据。 JavaScript 代码甚至可以对收到的数据执行某种计算,再发送另一个请求,完全不需要用户干预!这就 是 XMLHttpRequest ...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    --我们做了优化,现在要使一个Asp.net的按钮能够AJAX提交,你不需要做任何设置(PageManager的属性EnableAjax为true即可,这是默认属性)。 +PageManager的实例方法AddAjaxUpdateControl改名为...

    GoodProject Maven Webapp.zip

    AJAX即"Asynchronous Javascript And XML"(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。 AJAX = 异步 JavaScript和XML(标准通用标记语言的子集)。 AJAX 是一种用于创建快速动态网页的技术。 ...

    java-ee电子商城系统课程设计.doc

    AJAX是Asynchronout JavaScript and XML的缩写,它并不是一门新的语言或技术,实际上是几项技术按一定的方式组合在一起 ,在共同的协作中发挥各自的作用,它包括:使用XHTML和CSS标准化呈现;使用DOM实现 动态显示...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    2、 Ajax我们主要应用就是xmlhttprequest,回调函数实现局部刷新达道数据更新! 4.2需求分析 Blog网站主要是实现注册用户登录、管理相关信息、博文及相关评论、查看留言、友情链接、及图片的上传和图像的播放而为...

    ExtAspNet_v2.3.2_dll

    -使得Asp.net的控件ImageButton具有和Asp.net的Button控件类似的行为(Ajax提交)(feedback:261629698)。 +TabStrip增加GetAddTabReference和GetRemoveTabReference两个函数,用来向TabStrip控件动态增加删除Tab。...

    《程序天下:JavaScript实例自学手册》光盘源码

    7.3 Ctrl+Enter提交数据 7.4 IE中屏蔽退格建(Back Space) 7.5 屏蔽键盘所有键 7.6 JavaScript捕获方向键 7.7 状态栏变化信息 7.8 状态栏的跑马灯效果 7.9 状态栏缩放文字 7.10 状态栏文字来回出现 7.11 交替闪烁的...

    程序天下:JavaScript实例自学手册

    7.3 Ctrl+Enter提交数据 7.4 IE中屏蔽退格建(Back Space) 7.5 屏蔽键盘所有键 7.6 JavaScript捕获方向键 7.7 状态栏变化信息 7.8 状态栏的跑马灯效果 7.9 状态栏缩放文字 7.10 状态栏文字来回出现 7.11 交替闪烁的...

    SayTo站内即时聊天组件 1.1

    2、站长无需在数据传输机制的开发中花费大量精力,要做的只是在组件外延简单调用接口,或在应用功能方面进行二次开发,省时省力。 3、对站内新闻的实时点评互动,使访客表达个人观点的同时产生充分的互动效果。 4...

    深入浅出Struts 2 .pdf(原书扫描版) part 1

    如数据类型转换、文件上传和下载、Struts2应用的安全性、调试与性能分析、FreeMarker、Velocily、Ajax,等等。跟随作者一道深入Struts2。聆听大量来之不易的经验之谈。你对Struts2开发框架的理解和应用水平都将更上...

    深入浅出Struts2(附源码)

    作者处处从实战出发,在丰富的示例中直观地探讨了许多实用的技术,如数据类型转换、文件上传和下载、提高Struts 2应用的安全性、调试与性能分析、FreeMarker、Velocity、Ajax,等等。跟随作者一道深入Struts 2,聆听...

    正式版的动网论坛程序 8.0.0

    经过一系列紧张繁忙的准备,动网论坛Ver8.0.0如期和大家见面了。...19、对在线跟踪和数据插入的修改,利用ajax手段达到比较合理效果,防止刷在线人数的问题出现。 20、优化RSS订阅,增加XML无图版显示; 21、

    Asprain 1.3 Access

    asprain论坛使用了大量的ajax效果,不仅能够很有效地节省数据流量、应付网络拥堵,而且极酷的脚本动画和遮罩框效果也能使用户获得更好的应用体验。在asprain里,用户切换隐身/在线状态、更换自己的头像、版主删除水...

    Asprain 1.3 SQL

    asprain论坛使用了大量的ajax效果,不仅能够很有效地节省数据流量、应付网络拥堵,而且极酷的脚本动画和遮罩框效果也能使用户获得更好的应用体验。在asprain里,用户切换隐身/在线状态、更换自己的头像、版主删除水...

    JAVA自学之路

    XML AJAX,新的流行趋势不能不了解。 作一些小项目吧。比如BBS、留言系统、学籍管理、商城等等,随便着一些业务逻辑比较简单的来做一做。 Struts,MVC的典型应用 Hibernate,OR Mapping的典范之作。 Spring IOC ...

    SEO魔法书-最全的优化教程

    关于这本书..............................................................................................................................................1 第一章 搜索引擎基础.............................

    搜索引擎优化魔法书

    目录 关于这本书.............................................................................................................................................1 第一章 搜索引擎基础..........................

Global site tag (gtag.js) - Google Analytics