ajax02.html
用戶端
<!DOCTYPE html><!--用戶端--><!--課件_48.第九章:Ajax技術[3]-初探瀏覽器原生Ajax介面(3).rar--><!--處理伺服器響應的資料--><html id="html"><head> <meta charset="utf-8" /> <title>demo</title> <script type="text/javascript" src="jquery-2.1.4.min.js"></script> <script type="text/javascript"> $(function(){ $('button').click(function(){ //建立XHR對象,後面的Ajax操作都是基於這個對象的。 var xhr=new XMLHttpRequest(); xhr.addEventListener('readystatechange',function(){ if (xhr.readyState==4) { //返回html格式的資料// $('body').append(xhr.responseText); //返回js格式的資料// eval(xhr.responseText); //返回JSON格式的資料,處理起來更加靈活。 var obj=JSON.parse(xhr.responseText);//eval也可以 var str=''; for (var i=0;i<obj.length;i++) { str+="<p><a href='"+obj[i].url+"'>"+obj[i].title+"</a></p>"; } $('body').append(str); } }); //啟用一個http請求,以備發送,true表示發送非同步(預設),flase發同步請求 xhr.open('get','ajax02.php');//在伺服器端執行這個PHP檔案,然後將輸出的內容返回給用戶端。// 發送剛剛設定好的請求 xhr.send(null);// 如果時間超過3秒,則取消請求 setTimeout(function(){ xhr.abort();//取消請求。 },3000); }); }); </script></head><body><button>開始</button></body></html>
ajax02.php
伺服器端
<?php//伺服器端//可以執行各種PHP代碼,各種判斷,以及從資料庫中擷取到資料,返回給用戶端//sleep(5);//echo "嘿嘿,這個資料返回給你";//echo'<ul>// <li><a href="#">我是一條新聞的標題</a></li>// <li><a href="#">我是一條新聞的標題</a></li>// <li><a href="#">我是一條新聞的標題</a></li>// <li><a href="#">我是一條新聞的標題</a></li>// <li><a href="#">我是一條新聞的標題</a></li>// <li><a href="#">我是一條新聞的標題</a></li>//</ul>';//$str1=<<<A//if(1>100){// alert(':))');//}else{// alert(':((');//}//A;//echo $str1;$arr=array( array('title'=>'這是一條文章的標題','url'=>'#'), array('title'=>'這是一條文章的標題','url'=>'http://sifangku.com'), array('title'=>'這是一條文章的標題','url'=>'#'), array('title'=>'這是一條文章的標題','url'=>'#'));$str2=json_encode($arr);echo $str2;?>