在.NET平台下 将 ajax 发送xml到服务器的过程

.NET平台下ajax传递XML信息到服务器端,服务器端处理xml并发送回来的过程。
1,首先创建XML文件
function createXML(){
            var xml ="<user>";
            var username="justlikeyou";
            xml=xml+"<name>"+username+"<//name>";
            xml=xml+"<//user>";
            return xml;
}
2,发送XML文件
function sendXmlDataAndgetXml()
        {
            var XMLHTTP  = createXMLHttpRequest();
            var strURL="getWSwithXML.aspx";
            XMLHTTP.open("POST",strURL,true);
            XMLHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
            var xml_dom=createXML();
            //XMLHTTP.send("xml="+xml_dom);
            XMLHTTP.send(xml_dom);
            XMLHTTP.onreadystatechange=function ()
            {
                if(XMLHTTP.readyState==4){
                if (XMLHTTP.status == 200 || XMLHTTP.status == 0){
                    var responseText=XMLHTTP.responseText;
                    alert(responseText);
                    analysizeXML(responseText);
                }
                }
            }
        }
3,服务器处理发送过来的xml参数
(注意:要在web.config中加一行信息 <pages validateRequest="false"/>,否则会报如下的错误:
A potentially dangerous Request.Form value was detected from the client。这个是一个请求验证的检测。
默认地,ASP.NET 1.1和2.0请求验证会对送至服务器的数据检测是否含有HTML标记元素和保留字符.
这可以防止用户向程序中输入脚本.请求验证会对照一个有潜在威胁的字符串列表进行匹配,
如果发现异常它会抛出一个HttpRequestValidationException类型的异常.)
public void loadXmlFromServer(){
            XmlDocument   xmldoc=new XmlDocument();
            xmldoc.Load(Request.InputStream);
            XmlElement root=xmldoc.DocumentElement;
            XmlNodeList nodes=root.ChildNodes;
            XmlNode node=nodes.Item(0);
            String nodeValue=node.ChildNodes.Item(0).Value;//节点值:justlikeyou
}
4,服务器发送一个xml响应:
简单如下
    String strXML="<?xml version=/"1.0/" encoding=/"GB2312/" ?><root><info>hello world!</info></root>";
    Response.Write(strXML);
注意:在aspx的页面中把所有的内容都要清除掉,即在aspx页面中只有下面一行信息:
<%@ Page language="c#" Codebehind="getWSwithXML.aspx.cs" AutoEventWireup="false" Inherits="demoSvg.getWSwithXML" %>
5,客户端处理服务器发送过来的响应信息
//解析服务器端发送过来的XML字符串。
        function analysizeXML(data)
        {
            var xmlDoc = new ActiveXObject("Microsoft.xmldom");
            xmlDoc.async = "false";
            xmlDoc.loadXML(data);
            var info=xmlDoc.getElementsByTagName("info");
            alert("responseText's value: " + info[0].firstChild.data);
            //第2种方法读XML中的信息
            /*
            var root=xmlDoc.documentElement;
            var channel=root.childNodes.item(0);
            var itemlist=channel.childNodes;
            alert(itemlist.item(0).text);
            */
        }
上面就是使用ajax技术在.NET平台中传递XML信息,并解析XML的整个过程。具体的更详细的
操作,如解析属性了,生成更复杂的xml可以学校使用Microsoft.xmldom和XmlDocument。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值