1. 客户端代码
    1 <script>
  2. var isie = true;
  3. var xmlhttp = null;
  4. function createXMLHTTP() {//创建XMLXMLHttpRequest对象
  5. if (xmlhttp == null) {
  6. if (window.XMLHttpRequest) {
  7. xmlhttp = new XMLHttpRequest();
  8. }
  9. else {
  10. xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  11. }
  12. //if (xmlhttp == null) {
  13. // alert('你的浏览器不支持AJAX');
  14. //}
  15. }
  16. if ($.browser.msie) {//IE浏览器
  17. isie = true;
  18. }
  19. else {
  20. isie = false;
  21. }
  22.  
  23. }
  24. //创建XML文档那个对象,也是第一步
  25. function createDomXml() {
  26. var domXml = null;
  27. //IE浏览器创建xml dom对象
  28. var signs = ["Msxml2.DOMDocument.5.0", "Msxml2.DOMDocument.4.0",
  29.  
  30. "Msxml2.DOMDocument.3.0", "Msxml2.DOMDocument", "Microsoft.XmlDom"];
  31. for (var i = 0; i < signs.length; i++) {
  32. try {
  33. domXml = new ActiveXObject(signs[i]);
  34. break;
  35. }
  36. catch (e) { }
  37. }
  38.  
  39. //其他浏览器
  40. if (domXml == null)
  41. domXml = document.implementation.createDocument("", "", null);
  42. return domXml;
  43. }
  44. //第二步:客户端获取数据写入xml文档对象里
  45. function createXml(dom) {
  46. var root = doc.createElement("root");//创建根结点
  47. var assign_id = doc.createElement("id");//子节点
  48. var assign_ans = doc.createElement("answer");//子节点
  49. if (isie) {
  50. assign_id.text = "1";
  51. assign_ans.text = "1";
  52. }
  53. else {
  54. assign_id.textContent = "1";
  55. assign_ans.textContent = "1";
  56. }
  57.  
  58. root.appendChild(assign_id);
  59.  
  60. root.appendChild(assign_ans);
  61.  
  62. dom.appendChild(choose);
  63. }
  64. function submit() {
  65. var dom = createDomXml();
  66. createXMLHTTP();
  67. if (xmlhttp == null) {
  68. alert("你的浏览器不支持ajax,请换个浏览器试试");
  69. return 0;
  70. }
  71. createXml(dom);
  72.  
  73. xmlhttp.onreadystatechange = success;
  74. xmlhttp.open("post", "test.aspx", true);//接收请求页面
  75. //xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  76. xmlhttp.send(dom);
  77. }
  78.  
  79. function success()//异步处理函数,当服务成功返回时
  80. {
  81. if (xmlhttp.readyState == 4) {
  82. alert(xmlhttp.status);
  83. if (xmlhttp.status == 200) {
  84. alert(xmlhttp.responseText);
  85. }
  86. else {
  87. alert("test error");
  88. }
  89. }
  90. }
  91. </script>
  1. 服务器端代码
    1 protected void Page_Load(object sender, EventArgs e)
  2. {
  3. string res;
  4. Request.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
  5. XmlDocument xmlDoc = new XmlDocument();
  6. xmlDoc.Load(Request.InputStream);
  7. XmlNode node = xmlDoc.SelectSingleNode("choose");
  8. foreach (XmlNode child in node.ChildNodes)
  9. {
  10. res + child.innerText;
  11. }
  12. Response.Write(res);
  13. Response.End();
  14. }
  15. }

js ajax 传送xml dom对象到服务器的更多相关文章

  1. Javascript 解析字符串生成 XML DOM 对象。

    Javascript 接收字符串生成 XML DOM 对象.实测对 Firefox .IE6 有效.可用于解析 ajax 的服务器响应结果,也可用于解析自定义字符串.​1. [代码]函数   ppt模 ...

  2. htm Dom对象与 Xml Dom对象的理解

    html 是基于Xml的文档规范.是一种特殊的xml文档,这一点很重要 1.xml 文档的操作,java,c#,...各种语言都提供了很好的api对文档进行解析,操作.当然js 也不例外,提供了一系列 ...

  3. 百万年薪python之路 -- JS的BOM与DOM对象

    BOM对象 location对象 location.href 获取URL location.href="URL" // 跳转到指定页面 location.reload() 重新加载 ...

  4. js下 Day01、DOM对象,BOM浏览器对象模型

    一.初识DOM 1.什么是DOM?为什么学习DOM 2.DOM是实现js在网页实现交互的关键环节,我们的js代码就是通过DOM的方法来实现对于html内容的操作. 3.认识DOM实现了js和网页结合的 ...

  5. js将xml对象,xml文件解析成xml dom对象,来对对象进行操作

    由于ie与其他的浏览器对于xml文件的解析方式不同,所以有不同的解析方式 1.1 IE解析xml文件的方式 var xmlDoc=new ActiveXObject("Microsoft.X ...

  6. JavaScript使用浏览器内置XML解析器解析DOM对象

    所有现代浏览器都内建了供读取和操作 XML 的 XML 解析器.解析器把 XML 转换为 XML DOM 对象 (可通过 JavaScript 操作的对象). 一.获取DOM对象 XMLHttpReq ...

  7. js点滴知识(1) -- 获取DOM对象和编码

    在今天的工作中发现了一些小的问题,在网上查了一下,才知道自己的js才是冰山一角,以后要虚心向他人学习,要虚怀若谷. 发现一:js获取DOM对象与jquery的区别 先前总以为,二者是一样的,最近才知道 ...

  8. js获取dom对象style样式的值

    js获取到的dom对象的style通常是没有值得,因为我们都写在外部文件中,从慕课网上见到讲师封装的一个方法,挺不错.特此记录下来. function getStyle(obj,attr){ if(o ...

  9. Ajax中的XMLHttpRequest对象详解

    XMLHttpRequest对象是Ajax技术的核心.在Internet Explorer 5中,XMLHttpRequest对象以ActiveX对象引入,被称之为XMLHTTP,它是一种支持异步请求 ...

随机推荐

  1. spring-retry简单demo(附完整代码)

    重试 最近项目要用到重试.开始想自己写,后来想用RetryTemplate,最后想到既然项目用了springboot,还是直接集成spring-retry把. 代码 Application packa ...

  2. TCP/IP网络协议基础

    实验楼学习网络协议传送门 一.TCP/IP简介 TCP/IP(Transmission Control Protocol/Internet Protocol)是传输控制协议和网络协议的简称,它定义了电 ...

  3. 题解报告:hdu 2062 Subset sequence

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2062 Problem Description 考虑集合An = {1,2,...,n}. 例如,A1 ...

  4. javaweb-JSP action中附件下载的写法

     附件下载(包括图片,exl,word)在前台必须给出一个iframe 或者类似于window的窗口,另外,Java文件下载不能通过ajax进行请求,必须添加src属性首选,前台的链接拼接html如下 ...

  5. 基于Ubuntu14.04下Suricata(一款高性能的网络IDS、IPS和网络安全监控引擎)的搭建(图文详解)(博主推荐)

    为什么,要写这篇论文? 是因为,目前科研的我,正值研三,致力于网络安全.大数据.机器学习研究领域! 论文方向的需要,同时不局限于真实物理环境机器实验室的攻防环境.也不局限于真实物理机器环境实验室的大数 ...

  6. echart动态加载数据

    <!DOCTYPE html> <head>     <meta charset="utf-8">     <title>EChar ...

  7. WAMP配置虚拟目录

    1.启动wamp所有服务,输入localhost或localhost:端口号确保wamp环境正常无误. 2.设置httpd.conf 2.1打开文件:单击wamp在电脑右下角的图标=>wamp= ...

  8. Apache Tomcat 之路(三 部署多个应用)

    想要在一台服务器上部署多个web应用的时候有两种部署方式:1.拷贝多个tomcat 服务器,每个服务器启动不同的web应用;2.一个tomcat容器部署多个web应用 两种方式的优缺点:多个tomca ...

  9. How do I get started with Node.js

    From: http://stackoverflow.com/questions/2353818/how-do-i-get-started-with-node-js Tutorials NodeSch ...

  10. 【C++】异常简述(一):C语言中的异常处理机制

    人的一生会遇到很多大起大落,尤其是程序员. 程序员写好的程序,论其消亡形式无非三种:无疾而终.自杀.他杀. 当然作为一名程序员,最乐意看到自己写的程序能够无疾而终,因此尽快的学习异常处理机制是非常重要 ...