首頁  >  文章  >  後端開發  >  分享一個利用Ajax傳遞Xml文件的方法

分享一個利用Ajax傳遞Xml文件的方法

Y2J
Y2J原創
2017-04-26 13:52:281684瀏覽

客戶端

<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