您的位置:首页 > 其它

使用XML实现页面的局部刷新

2004-08-11 17:00 941 查看
test.asp

function RemoveAll(ListBox)
{
?if (ListBox == null)
??return;
?ListBox.selectedIndex = -1;
?var iListBoxLength = ListBox.options.length;
?for (var i = 0; i < iListBoxLength; i++)
??ListBox.options.remove(0);
}

function GetStates(Country)
{
?var szRequest = "";
?var objHTTP = new ActiveXObject("Microsoft.XMLHTTP");
?var szURL = "states.asp";
?var szHttpMethod = "POST";
?objHTTP.Open(szHttpMethod, szURL, false);
?objHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded");
?objHTTP.Send(szRequest);

?var szReply = objHTTP.ResponseText;
?if (objHTTP.status != 200)
?{
??//failure
??szReply = "";
?}
?return szReply;
}

function DisplayStates(StatesList, Country)
{
?if (StatesList == null)
??return;
?StatesList.selectedIndex = -1;

?RemoveAll(StatesList)
?var xmlStates = GetStates(Country);
?var objXmlDom = new ActiveXObject("Microsoft.XMLDOM");
?if (!objXmlDom.loadXML(xmlStates))
?{
???? var sErr = "Response XML String is messed up/n" + xmlStates;
??alert(sErr);
?}
?else
?{
??var nodes = objXmlDom.selectNodes("/Response/State");
??for (var i = 0; i < nodes.length; i++)
??{
???var objOption = document.createElement("option");
???objOption.text = nodes[i].text;
???objOption.value = nodes[i].text;
???StatesList.add(objOption);
??}
?}
}

function Display(Obj)
{
? alert(Obj.options[Obj.selectedIndex].value);
? alert(Obj.options[Obj.selectedIndex].text);
}

Type:

">pppp

title:

states.asp

<%@ Language=JScript %>
<% Response.Expires=0; %>

<%
function ProcessRequest()
{
?var objXmlDOM = Server.CreateObject("Microsoft.XMLDOM");
?var szXmlRequest = Request.Form;
?//Response.Write(szXmlRequest);
?//alert(szXmlRequest);
?if (!objXmlDOM.loadXML(szXmlRequest))
?{
??var sErrMsg = "Invalid XML Request String" + szXmlRequest;
??Response.Write(sErrMsg);
??return;
?}
?var objRoot = objXmlDOM.selectSingleNode("/RequestStates");
?if (objRoot == null)
?{
??var sErrMsg = "Invalid XML Request String(RequestStates node not found)" + szXmlRequest;
??Response.Write(sErrMsg);
??return;
?}
?var Country = objRoot.getAttribute("Country");
?if ((Country == null) || (Country == ""))
?{
??var sErrMsg = "No Country specified" + szXmlRequest;
??Response.Write(sErrMsg);
??return;
?}
?var responseXML="";
??? var Conn = Server.CreateObject("Adodb.Connection");
?Conn.Open("driver={SQL Server};server=(local);database=pubs;uid=sa;pwd=;");
//?var Rs = Server.CreateObject("Adodb.RecordSet");
//?var sqlstr = "select title_id from titles where type='"+Country+"'";
?var rs = Conn.Execute("select title_id from titles where type='"+Country+"'");
?while(! rs.EOF) {
???? responseXML += ""+rs("title_id")+"";??
???? rs.MoveNext();
?}
?rs.Close();
?Conn.Close();
?responseXML +=""
?Response.Write(responseXML);
?objXmlDOM = null;
}

ProcessRequest();
%>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: