首页  >  文章  >  后端开发  >  分享一个利用Ajax传递Xml文档的方法

分享一个利用Ajax传递Xml文档的方法

Y2J
Y2J原创
2017-04-26 13:52:281681浏览

客户端

<script language="javascript"> 
//生成XML文件  
function GetAllFormData()  
{  
    var strXML = "<Client>\r\n<FormData>\r\n";  
    strXML += "<UserName>bccu</UserName>" 
    strXML += "<Age>25</Age>";  
    strXML += "</FormData>\r\n</Client>" 
    return strXML;  
}  
///向服務器发送XML文档  
function Send(Str,URL)   
{  
    var Http = new ActiveXObject("Microsoft.XMLHTTP")  
    Http.open("POST",URL,false)  
    Http.send(Str)  
    return Http.responseText;  
}  
///获得XML中指定的节的值  
function GetXMLNodeValue(strXML,nodeName)  
{  
    var Dom = new ActiveXObject("Microsoft.XMLDOM")  
    Dom.async=false   
    Dom.loadXML(strXML)  
    if(Dom.parseError.errorCode != 0)   
    {  
        delete(Dom)  
        return(false)  
    }  
    else  
    {  
        var node = Dom.documentElement.selectSingleNode("//"+nodeName);  
        if(node)  
            nodeValue = node.text;  
        delete(Dom)  
        return(nodeValue);  
    }  
}  
 function Test()  
 {  
    var tmp       = Send(GetAllFormData(),"./test.aspx");  
    var name      = GetXMLNodeValue(tmp,"UserName");  
    var password  = GetXMLNodeValue(tmp,"Age");  
 }  
</script>

服务器端(test.cs)

System.IO.Stream stream = Request.InputStream 
System.Xml.XmlDocument doc = new XmlDocument();  
try  
{  
  doc.Load(stream); //加载发送过来的Xml文档 
}  
catch  
{  
  byte[] buffer = new byte[stream.Length];  
  stream.Read(buffer,0,buffer.Length);  
  string strXML = System.Text.UnicodeEncoding.Default.GetString(buffer,0,buffer.Length);  
  doc.LoadXml(strXML);  
}  
//将doc处理后输出以便返回到客户端(此处省略) 
response.write("")

以上是分享一个利用Ajax传递Xml文档的方法的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn