使用AJAX技術實現“動態網頁面靜態化”

來源:互聯網
上載者:User

php:

<?php//向用戶端返回所有的商品類別,以JSON字串格式header('Content-Type: application/json');$db = [['tno'=>101, 'tname'=>'電腦'],['tno'=>102, 'tname'=>'數位相機'],['tno'=>103, 'tname'=>'手機'],['tno'=>104, 'tname'=>'洗衣機']];$jsonString = json_encode($db);echo $jsonString;?>


html:

<!DOCTYPE html><html> <head>  <title> new document </title>  <meta charset="utf-8" /> </head> <body>  <h1>使用AJAX技術實現“動態網頁面靜態化”</h1><select id="type"><option value="0">—請選擇產品類別—</option></select><select id="producer"><option value="0">—請選擇生產廠家—</option></select><script>var selectType = document.getElementById('type');var selectProducer = document.getElementById('producer');//頁面載入完成後發起非同步請求,擷取產品類別列表window.onload = function(){//1var xhr = new XMLHttpRequest();//2xhr.onreadystatechange = function(){if(xhr.readyState===4){if(xhr.status===200){doResponse(xhr.responseText);}else{console.log('失敗的響應');}}}//3xhr.open('GET','1-gettype.php', true);//4xhr.send(null);}function doResponse(txt){console.log('開始處理響應資料:');//console.log(typeof txt);//console.log(txt);//把伺服器端返回JSON字串解析為JS對象var obj = JSON.parse(txt);//console.log(typeof obj);console.log(obj);for(var i=0; i<obj.length; i++){var type = obj[i];selectType.innerHTML += '<option value="'+type.tno+'">'+type.tname+'</option>';}}selectType.onchange = function(){console.log('使用者的選項發生改變了:');var tno = this.value;console.log(tno);//發起非同步請求,根據tno擷取對應的廠家//1//2//3//4}</script> </body></html>


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.