利用Ajax傳遞Xml文檔
更新時間:2006年08月24日 00:00:00 作者:
客戶端
<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;
}
///向服務器發(fā)送XML文檔
function Send(Str,URL)
{
var Http = new ActiveXObject("Microsoft.XMLHTTP")
Http.open("POST",URL,false)
Http.send(Str)
return Http.responseText;
}
///獲得XML中指定的節(jié)的值
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("http://"+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); //加載發(fā)送過來的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("")
<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;
}
///向服務器發(fā)送XML文檔
function Send(Str,URL)
{
var Http = new ActiveXObject("Microsoft.XMLHTTP")
Http.open("POST",URL,false)
Http.send(Str)
return Http.responseText;
}
///獲得XML中指定的節(jié)的值
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("http://"+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); //加載發(fā)送過來的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("")
相關文章
asp.net Context.Handler 頁面間傳值方法
很有用的頁面間傳值方法(Context.Handler),使用說明2008-08-08在vs2008中使用AJAX開發(fā).net 2.0下的Web程序的方法
最近做項目需要用到AJAX,但是工作需要必須使用.net 2.0版本;但發(fā)現如果項目為.net2.0版本則沒有Ajax(web.config已經配置上ajax) ,、工具欄中并不出現Ajax選項卡. 而且新建頁面也沒有AJAX頁面;后來查了很多資料 發(fā)現了一種解決方法2011-06-06IIS應用池回收造成Application_Start中定時執(zhí)行程序停止的問題的解決方法
最近在做一個項目,需要在程序中定時不斷的執(zhí)行某些操作,結果發(fā)現每天7,8點過后到第二天9點,定時程序經常都沒有在執(zhí)行,后來才知道由于IIS的應用池回收導致Application停止。2010-03-03Entity Framework使用Code First模式管理數據庫
本文詳細講解了Entity Framework使用Code First模式管理數據庫的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-03-03