js ajax 传送xml dom对象到服务器
客户端代码
1 <script>
var isie = true;
var xmlhttp = null;
function createXMLHTTP() {//创建XMLXMLHttpRequest对象
if (xmlhttp == null) {
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
}
else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
//if (xmlhttp == null) {
// alert('你的浏览器不支持AJAX');
//}
}
if ($.browser.msie) {//IE浏览器
isie = true;
}
else {
isie = false;
} }
//创建XML文档那个对象,也是第一步
function createDomXml() {
var domXml = null;
//IE浏览器创建xml dom对象
var signs = ["Msxml2.DOMDocument.5.0", "Msxml2.DOMDocument.4.0", "Msxml2.DOMDocument.3.0", "Msxml2.DOMDocument", "Microsoft.XmlDom"];
for (var i = 0; i < signs.length; i++) {
try {
domXml = new ActiveXObject(signs[i]);
break;
}
catch (e) { }
} //其他浏览器
if (domXml == null)
domXml = document.implementation.createDocument("", "", null);
return domXml;
}
//第二步:客户端获取数据写入xml文档对象里
function createXml(dom) {
var root = doc.createElement("root");//创建根结点
var assign_id = doc.createElement("id");//子节点
var assign_ans = doc.createElement("answer");//子节点
if (isie) {
assign_id.text = "1";
assign_ans.text = "1";
}
else {
assign_id.textContent = "1";
assign_ans.textContent = "1";
} root.appendChild(assign_id); root.appendChild(assign_ans); dom.appendChild(choose);
}
function submit() {
var dom = createDomXml();
createXMLHTTP();
if (xmlhttp == null) {
alert("你的浏览器不支持ajax,请换个浏览器试试");
return 0;
}
createXml(dom); xmlhttp.onreadystatechange = success;
xmlhttp.open("post", "test.aspx", true);//接收请求页面
//xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send(dom);
} function success()//异步处理函数,当服务成功返回时
{
if (xmlhttp.readyState == 4) {
alert(xmlhttp.status);
if (xmlhttp.status == 200) {
alert(xmlhttp.responseText);
}
else {
alert("test error");
}
}
}
</script>
服务器端代码
1 protected void Page_Load(object sender, EventArgs e)
{
string res;
Request.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Request.InputStream);
XmlNode node = xmlDoc.SelectSingleNode("choose");
foreach (XmlNode child in node.ChildNodes)
{
res + child.innerText;
}
Response.Write(res);
Response.End();
}
}
js ajax 传送xml dom对象到服务器的更多相关文章
- Javascript 解析字符串生成 XML DOM 对象。
Javascript 接收字符串生成 XML DOM 对象.实测对 Firefox .IE6 有效.可用于解析 ajax 的服务器响应结果,也可用于解析自定义字符串.1. [代码]函数 ppt模 ...
- htm Dom对象与 Xml Dom对象的理解
html 是基于Xml的文档规范.是一种特殊的xml文档,这一点很重要 1.xml 文档的操作,java,c#,...各种语言都提供了很好的api对文档进行解析,操作.当然js 也不例外,提供了一系列 ...
- 百万年薪python之路 -- JS的BOM与DOM对象
BOM对象 location对象 location.href 获取URL location.href="URL" // 跳转到指定页面 location.reload() 重新加载 ...
- js下 Day01、DOM对象,BOM浏览器对象模型
一.初识DOM 1.什么是DOM?为什么学习DOM 2.DOM是实现js在网页实现交互的关键环节,我们的js代码就是通过DOM的方法来实现对于html内容的操作. 3.认识DOM实现了js和网页结合的 ...
- js将xml对象,xml文件解析成xml dom对象,来对对象进行操作
由于ie与其他的浏览器对于xml文件的解析方式不同,所以有不同的解析方式 1.1 IE解析xml文件的方式 var xmlDoc=new ActiveXObject("Microsoft.X ...
- JavaScript使用浏览器内置XML解析器解析DOM对象
所有现代浏览器都内建了供读取和操作 XML 的 XML 解析器.解析器把 XML 转换为 XML DOM 对象 (可通过 JavaScript 操作的对象). 一.获取DOM对象 XMLHttpReq ...
- js点滴知识(1) -- 获取DOM对象和编码
在今天的工作中发现了一些小的问题,在网上查了一下,才知道自己的js才是冰山一角,以后要虚心向他人学习,要虚怀若谷. 发现一:js获取DOM对象与jquery的区别 先前总以为,二者是一样的,最近才知道 ...
- js获取dom对象style样式的值
js获取到的dom对象的style通常是没有值得,因为我们都写在外部文件中,从慕课网上见到讲师封装的一个方法,挺不错.特此记录下来. function getStyle(obj,attr){ if(o ...
- Ajax中的XMLHttpRequest对象详解
XMLHttpRequest对象是Ajax技术的核心.在Internet Explorer 5中,XMLHttpRequest对象以ActiveX对象引入,被称之为XMLHTTP,它是一种支持异步请求 ...
随机推荐
- 洛谷 P2764 最小路径覆盖问题【匈牙利算法】
经典二分图匹配问题.把每个点拆成两个,对于原图中的每一条边(i,j)连接(i,j+n),最小路径覆盖就是点数n-二分图最大匹配.方案直接顺着匹配dsf.. #include<iostream&g ...
- bzoj 2242: [SDOI2011]计算器【扩展欧几里得+快速幂+BSGS】
第一问快速幂板子 第二问把式子转化为\( xy\equiv Z(mod P)\rightarrow xy+bP=z \),然后扩展欧几里得 第三问BSGS板子 #include<iostream ...
- Resources.getSystem() 与 getResources()区别
参考: http://stackoverflow.com/questions/8633539/resources-getsystem-vs-getresources 相同: 都是取得 Resource ...
- C. Timofey and a tree 观察题 + dfs模拟
http://codeforces.com/contest/764/problem/C 题意:在n个顶点中随便删除一个,然后分成若干个连通子图,要求这若干个连通子图的颜色都只有一种. 记得边是双向的, ...
- ASP.NET网站发布到服务器
我们一个项目做好了之后想要上线,首先得发布,然后在上传到服务器. 所用到的工具:vs2013(其它vs版本也可以,大致上是一样的) FTP破解版下载链接:http://files.cnblogs.co ...
- Redis和SpringDataRedis
一.Redis简介 Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库,运行在内存中,由ANSI C编写.企业开发通常采用Redis来实现缓存.同类的产品还有memcac ...
- P1372 又是毕业季I
题目背景 “叮铃铃铃”,随着高考最后一科结考铃声的敲响,三年青春时光顿时凝固于此刻.毕业的欣喜怎敌那离别的不舍,憧憬着未来仍毋忘逝去的歌.1000多个日夜的欢笑和泪水,全凝聚在毕业晚会上,相信,这一定 ...
- Asp.Net中调用存储过程并返回输出参数
/// <summary> /// 调用存储过程返回参数 /// </summary> /// <param name="orderId">&l ...
- t-sql的楼梯:超越基本级别6:使用案例表达式和IIF函数
t-sql的楼梯:超越基本级别6:使用案例表达式和IIF函数 源自:Stairway to T-SQL: Beyond The Basics Level 6: Using the CASE Expre ...
- JFreeChart应用(生成折线图)
1.jar包,jcommon.jar和jfreechart.jar,具体用哪个版本官网去down吧: 还有另外一个jar包,gnujaxp.jar,这个引入之后编译的时候会报错,应该是xsd校验的问题 ...