`
爱像天空
  • 浏览: 204585 次
  • 性别: 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 这个是要自己写 吗?

相关推荐

    Ajax提交数据更新服务器内容

    通常,我们使用POST方法提交数据,因为POST可以发送大量数据且更安全。以下是一个简单的示例: ```javascript var xhr = new XMLHttpRequest(); xhr.open('POST', '/api/users', true); xhr.setRequestHeader('...

    ajax说明 事件 绑定 数据

    2. POST方法:POST请求可以发送大量数据,适合于提交表单数据。在示例中,`setRequestHeader()`方法用于设置请求头,确保服务器能正确解析POST数据。然后在`send()`方法中传递实际的POST数据。 五、服务器端处理 ...

    各种ajax提交demo

    4. **数据格式**:XML最初是Ajax的数据交换格式,但随着JSON的流行,现在更常使用JSON,因为其结构简洁,解析速度快。 5. **跨域问题**:由于同源策略,Ajax请求通常只能访问同源(协议+域名+端口)的资源。如果...

    大量的ajax实例模型

    7. **表单验证**:在用户填写表单时,Ajax可以实时验证输入,如邮箱格式检查、密码强度检测,避免用户提交无效或错误的数据。 8. **消息提示**:Ajax可以发送异步请求获取反馈信息,并以弹窗、通知等方式呈现给用户...

    ajax分页查询完美示例

    【标题】"Ajax分页查询完美示例"主要展示了如何在Web应用中使用Ajax技术实现动态、无刷新的分页查询功能。Ajax(Asynchronous ...这在处理如电子商务网站、数据分析平台、论坛等需要大量数据展示的场景中非常实用。

    框架之AJAX,ajax,页面部分刷新,实现动态提交数据到服务器;动态从服务区获取数据 get,post两种传递数据方法,Jso

    2. **POST请求**:用于向服务器提交数据,数据包含在请求体中,不显示在URL上,适合传输大量或敏感数据。POST请求的安全性相对较高,但可能比GET请求慢一点。 **数据格式** AJAX可以处理多种数据格式,包括: 1. **...

    基于AJAX的数据分页源代码

    在网页开发中,数据分页是一项非常常见的需求,特别是在处理大量数据时,为了提高用户体验,避免一次性加载所有数据导致页面加载缓慢或者浏览器内存压力过大。AJAX(Asynchronous JavaScript and XML)技术则提供了...

    ajax提交url与ajax提交表单的详细比较

    当需要传输大量数据,比如用户注册或信息编辑等场景,Ajax提交表单更为合适。它允许将HTML表单中的所有数据一次性发送到服务器,而无需用户离开当前页面。为了实现这个功能,通常需要引入第三方库,如jQuery Form ...

    ajax大量实例源码,带链接数据库部分

    综上所述,"ajax大量实例源码,带链接数据库部分"这个资源提供了丰富的Ajax实践案例,涵盖了各种常见的Ajax应用场景,结合数据库操作,是学习和提升Ajax技能的宝贵资料。通过这些实例,你可以深入了解Ajax的使用方式...

    基于AJAX的数据分页的设计与实现.pdf

    这样,在服务器和浏览器之间交换的数据就会大量减少,用户就能看到响应更快的应用,用户可以感觉到几乎所有的操作都会很快响应没有页面重载(白屏)的等待。 AJAX定义 AJAX是一种客户端方法,可以与J2EE、.NET、PHP...

    prototype ajax提交大数据

    当我们谈论“prototype ajax提交大数据”时,我们指的是利用JavaScript的原型链特性来处理通过Ajax异步传输大量数据的问题。 Ajax,即Asynchronous JavaScript and XML,是一种在不刷新整个页面的情况下与服务器...

    ajax缺陷的解决和自动xml分析器

    在IT行业中,Ajax(Asynchronous JavaScript and XML)是一种在不刷新整个页面的情况下,通过JavaScript与服务器交换数据并更新部分网页的技术。它极大地提升了用户体验,但同时也存在一些固有的缺陷。本篇文章将...

    Dwrweb服务的ajax请求数据直接调用javaDAO类返回JSON数据。取值方便。快捷

    DWR同样支持GET请求,但在处理复杂或大量数据时,POST请求通常是更好的选择。 接着,提到的“javaDAO类”是Data Access Object的简称,它是数据库操作的抽象层。DAO模式是设计模式中的一种,旨在封装对数据库的操作...

    超酷的AJAX源码和Demo(1)

    值得注意的是,虽然AJAX的名称包含XML,但实际应用中并不局限于XML格式的数据。现代的AJAX更多地使用JSON,因为JSON数据结构更简洁,且与JavaScript语法更为兼容。因此,在分析提供的源码和Demo时,我们可能会看到...

    Ajax无刷新分页编辑DataGrid

    通过Ajax无刷新分页编辑DataGrid,用户可以快速浏览大量数据,同时享受流畅的编辑体验。此外,由于交互过程无需等待整个页面刷新,用户能够更加专注于任务,提高了工作效率。 7. 性能考虑: 在实现Ajax无刷新分页...

    ajax+大量源码源码

    4. **数据格式**:虽然名字中有XML,但Ajax并不局限于使用XML。JSON(JavaScript Object Notation)现在更常用,因为它更轻量级且易于解析。 5. **回调函数**:在请求完成后,你需要定义一个回调函数来处理返回的...

    ajax form 提交 动态显示

    - 对于大量数据的处理,考虑分批加载或者使用流式传输。 - 如果数据量大,可以使用模板引擎或虚拟DOM库(如React)来提高更新效率。 通过以上知识点,开发者可以实现一个AJAX表单提交系统,用户提交表单后,无需...

    AJAX学习实例与数据库交互实例

    3. 数据格式:虽然名字中包含XML,但实际AJAX可以处理多种数据格式,如JSON、XML、HTML、文本等。JSON因为其轻量级和易读性,现在更常被使用。 二、AJAX与数据库交互 1. 数据库连接:在AJAX中,通常通过后端脚本...

    第2节 ajax请求第三方接口天气预报案例.rar

    - POST请求用于向服务器发送大量数据,数据包含在请求正文中,适用于提交表单或上传文件。 4. JSON数据格式: JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,也便于机器解析...

Global site tag (gtag.js) - Google Analytics