Ajax使用JSON數(shù)據(jù)格式案例
1:
JSON(JavaScriptObject Notation)一種簡單的數(shù)據(jù)格式,比xml更輕巧。JSON是JavaScript原生格式,這意味著在JavaScript中處理JSON數(shù)據(jù)不需要任何特殊的API或工具包。
JSON的規(guī)則很簡單:對象是一個無序的“‘名稱/值'對”集合。一個對象以“{”(左括號)開始,“}”(右括號)結(jié)束。每個“名稱”后跟一個“:”(冒號);“‘名稱/值'對”之間使用“,”(逗號)分隔。
JSON用冒號(而不是等號)來賦值。每一條賦值語句用逗號分開。整個對象用大括號封裝起來??捎么罄ㄌ柗旨壡短讛?shù)據(jù)。
對象描述中存儲的數(shù)據(jù)可以是字符串,數(shù)字或者布爾值。對象描述也可存儲函數(shù),那就是對象的方法。
<span style="font-size:18px;">{"person": {
"name":"Andy Budd",
"website":"http://andybudd.com/",
"email":"andy@clearleft.com"
}
}</span>
JSON 只是一種文本字符串。它被存儲在responseText 屬性中
為了讀取存儲在 responseText 屬性中的JSON 數(shù)據(jù),需要根據(jù)JavaScript 的eval語句。函數(shù) eval會把一個字符串當(dāng)作它的參數(shù)。然后這個字符串會被當(dāng)作 JavaScript 代碼來執(zhí)行。因為 JSON 的字符串就是由 JavaScript 代碼構(gòu)成的,所以它本身是可執(zhí)行的
2:案例
<%@ page language="java" pageEncoding="UTF-8"%>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>People at Clearleft</title>
<style type="text/css">
@import url("clearleft.css");
</style>
<script type="text/javascript">
window.onload=function(){
var aNodes=document.getElementsByTagName("a");
for(var i = 0;i < aNodes.length; i++){
aNodes[i].onclick=function(){
var request=new XMLHttpRequest();
var url=this.href;
var method="GET";
request.open(method,url);
request.send(null);
request.onreadystatechange=function(){
if(request.readyState==4){
if(request.status==200||request==304){
var result=request.responseText; //json被存儲在responseText屬性中
var object=eval("("+result+")"); //讀取responseText中的json數(shù)據(jù)
var name= object.person.name; //讀取json對象中存儲的數(shù)據(jù)
var website= object.person.website;
var email= object.person.email;
var aNode=document.createElement("a");
aNode.appendChild(document.createTextNode(name+":"+"email"+":"+website));
aNode.href="mailTo"+"email"+",website";
var h2Node=document.createElement("h2");
h2Node.appendChild(aNode);
var dtails=document.getElementById("details");
details.innerHTML=""; //防止重復(fù)的添加字符串
dtails.appendChild(h2Node);
}
}
}
return false;
}
}
};
</script>
</head>
<body>
<h1>
People
</h1>
<ul>
<li>
<a href="files/andy.js">Andy</a>
</li>
<li>
<a href="files/richard.js">Richard</a>
</li>
<li>
<a href="files/jeremy.js">Jeremy</a>
</li>
</ul>
<div id="details"></div>
</body>
</html>
相關(guān)文章
使用Yii整合的pjax(pushstate+ajax)實現(xiàn)無刷新加載頁面
本篇文章給大家介紹Yii整合pjax(pushstate+ajax)實現(xiàn)無刷新加載頁面,小伙伴跟著小編一起學(xué)習(xí)吧2015-09-09
$.ajax()方法進(jìn)行網(wǎng)頁間傳值示例
這篇文章主要介紹了$.ajax()方法進(jìn)行網(wǎng)頁間傳值的具體實現(xiàn),需要的朋友可以參考下2014-04-04

