JavaScript 接收J(rèn)SON數(shù)據(jù)
■知識(shí)點(diǎn)
使用responseText可以獲取JSON格式的字符串,然后使用eval()方法將其解析為本地JavaScript腳本,再?gòu)脑摂?shù)據(jù)對(duì)象中讀取信息。
■實(shí)例設(shè)計(jì)
在服務(wù)器端請(qǐng)求文件中包含下面的JSON數(shù)據(jù)。
{user:"ccs8",pass: "123456",email:"css8@mysite.cn"}
然后在客戶(hù)端執(zhí)行下面的請(qǐng)求。把返回JSON字符串轉(zhuǎn)換為對(duì)象,然后讀取屬性值。
<input name="submit" type="button" id="subrait" value=”向服務(wù)器發(fā)出請(qǐng)求"/>
<script>
window, onl oad = function (){ //頁(yè)面初始化
var b = document.getElementsByTagName("input")[0];
b.onclick = function(){
var xhr = createXHR(); //實(shí)例化 XMLHttpRequest 對(duì)象
xhr.open("GET","server.js" , true); //建立連接,要求異步響應(yīng)
xhr.onreadystatechange = function(){ //綁定響應(yīng)狀態(tài)事件監(jiān)聽(tīng)函數(shù)
if(xhr.readyState == 4) { //監(jiān)聽(tīng)readyState狀態(tài)
if (xhr.status == 200 || xhr.status == 0){ //監(jiān)聽(tīng)HTTP狀態(tài)碼
var info = xhr.responseText;
var o = eval (" ("+info+") "); //調(diào)用eval ()把字符串轉(zhuǎn)換為本地腳本
console.log(info); //顯示JSON對(duì)象字符串
console.log(o.user) //讀取對(duì)象屬性值,返回字符串"css8"
}
}
}
xhr.send(); //發(fā)送請(qǐng)求
}
}
</script>
點(diǎn)擊加載更多評(píng)論>>