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

test.asp





<script language=Javascript>

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);
}

</script>





Type:



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();
%>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值