在JavaScript中使用json.js:Ajax項目之GET請求(同步)


1、用php編寫一個提供數據的響應程序(phpdata.php)

<?php 
$arr=array(1,2,3,4);
//將數組編碼為JSON格式的數據
$jsonarr=json_encode($arr);
//輸出JSON格式的數據
echo $jsonarr;
?>

2、客戶端(ajax.html)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
        <script type="text/javascript" src="json.js"></script>
        <script type="text/javascript">
            function getXHR(){//獲取跨瀏覽器的XmlHttpRequest對象
                var req;
                if (window.XMLHttpRequest) {
                    req= new XMLHttpRequest();
                }else if(window.ActiveXObject){
                    req= new ActiveXObject("Microsoft.XMLHTTP");
                }
                return req;
            }
            
            function getServerData(){
                
                //獲取跨瀏覽器的XHR對象
                xhr = getXHR();
                
                //設置隨機數,避免AjaxURL的HTTP緩存
                rand= Math.random(1);
                url="phpdata.php?id="+rand;
                
                //XmlHttpRequest對象的open()方法;
                //創建一個新的HTTP連接。
                //可以是GET或者POST這樣的所有有效的請求類型。
                //URL應該是一個完整的路徑地址。
                //false或者true參數控制send()方法是會阻塞(等待服務器返回數據)還是立即返回。
                xhr.open("GET",url,false);
                
                //XmlHttpRequest對象的send()方法;
                //向服務器發出請求。
                //基於open()方法的false(同步)或者true(異步)控制,或者等待服務器數據,或者立即返回
                //括號中content參數,在post類型中用到,它可以用來向服務器發送數據
                xhr.send();
                
                //XmlHttpRequest對象的responseText屬性:以字符串形式表達服務器的響應內容
                json=xhr.responseText;
                
                //將json數據轉為js數組
                jsArr=json.parseJSON();
                div=document.getElementById("jsonData");
                div.innerHTML=jsArr[1];
            }
        </script>
	</head>
	<body>
		<a href="#" onclick="getServerData()">Get Server Data</a>
        <div id="jsonData"></div>
	</body>
</html>

輸出結果:2


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM