在ASP.NET中使用無架構的Ajax執行個體

來源:互聯網
上載者:User

我們需要兩個頁面a.aspx、b.aspx,a頁面代碼如下(就用最常見的,兩個下拉式清單連動的例子):

<body>  <form id="Form1" method="post" runat="server">  <select id="AList" onchange="SetBList()">    <option value="0">A</option>    <option value="1">B</option>    <option value="3">C</option>  </select>  <select id="BList"></select>  </form></body>

當a頁面觸發onchange事件後,我們進入寫在a頁面的SetBList()方法中,這裡將完整的js列出來:

<script language="javascript">var xmlHttp;function SetBList() {  var avalue = document.getElementById("AList").value;  var url = "b.aspx?Avalue=" + avalue;  createXMLHttpRequest(); // 建立xmlHttp對象  xmlHttp.onreadystatechange = handleStateChange; // 當xmlHttp狀態代碼發生改變時,調用handleStateChage方法  xmlHttp.open("GET", url, true);  // GET方法發送請求  xmlHttp.send(null);}function BListInitial() {  // 先清空一下BList的option  clearBList();  var blist = document.getElementById("BList"); // 擷取BList對象  var rs = xmlHttp.responseXML.getElementsByTagName("City"); // 從返回xml文檔中,讀取<City>標籤的資料  // 這個迴圈取值的地方,卡了我一會,將xmlHttp.responseXML建立成一個xml文檔,然後找讀文檔的方法,但問題是不同瀏覽器建立xml文檔的方法不一樣  for(var i=0;i<rs.length;i++) {    var option = document.createElement("OPTION");    option.text = rs[i].getElementsByTagName("CityName");    option.value = rs[i].getElementsByTagName("CityCode");    blist.options.add(option);  }}function clearBList() {  var ven = document.getElementById("VendorList");  while(ven.options.length > 0)    ven.removeChild(ven.childNodes[0]);}function handleStateChange() {  if(xmlHttp.readyState == 4) {    if(xmlHttp.status == 200) {      BListInitial();    }  }}function createXMLHttpRequest() {  // IE  if (window.ActiveXObject) {    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");  }  // Mozilla  else if (window.XMLHttpRequest) {    xmlHttp = new XMLHttpRequest();  }}</script>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.