Ajax使用JSON數(shù)據(jù)格式案例
1:
JSON(JavaScriptObject Notation)一種簡(jiǎn)單的數(shù)據(jù)格式,比xml更輕巧。JSON是JavaScript原生格式,這意味著在JavaScript中處理JSON數(shù)據(jù)不需要任何特殊的API或工具包。
JSON的規(guī)則很簡(jiǎn)單:對(duì)象是一個(gè)無(wú)序的“‘名稱/值'對(duì)”集合。一個(gè)對(duì)象以“{”(左括號(hào))開(kāi)始,“}”(右括號(hào))結(jié)束。每個(gè)“名稱”后跟一個(gè)“:”(冒號(hào));“‘名稱/值'對(duì)”之間使用“,”(逗號(hào))分隔。
JSON用冒號(hào)(而不是等號(hào))來(lái)賦值。每一條賦值語(yǔ)句用逗號(hào)分開(kāi)。整個(gè)對(duì)象用大括號(hào)封裝起來(lái)。可用大括號(hào)分級(jí)嵌套數(shù)據(jù)。
對(duì)象描述中存儲(chǔ)的數(shù)據(jù)可以是字符串,數(shù)字或者布爾值。對(duì)象描述也可存儲(chǔ)函數(shù),那就是對(duì)象的方法。
<span style="font-size:18px;">{"person": { "name":"Andy Budd", "website":"http://andybudd.com/", "email":"andy@clearleft.com" } }</span>
JSON 只是一種文本字符串。它被存儲(chǔ)在responseText 屬性中
為了讀取存儲(chǔ)在 responseText 屬性中的JSON 數(shù)據(jù),需要根據(jù)JavaScript 的eval語(yǔ)句。函數(shù) eval會(huì)把一個(gè)字符串當(dāng)作它的參數(shù)。然后這個(gè)字符串會(huì)被當(dāng)作 JavaScript 代碼來(lái)執(zhí)行。因?yàn)?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被存儲(chǔ)在responseText屬性中 var object=eval("("+result+")"); //讀取responseText中的json數(shù)據(jù) var name= object.person.name; //讀取json對(duì)象中存儲(chǔ)的數(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)文章
Ajax jsonp跨域請(qǐng)求實(shí)現(xiàn)方法
這篇文章主要介紹了Ajax jsonp跨域請(qǐng)求實(shí)現(xiàn)方法的相關(guān)資料,需要的朋友可以參考下2015-11-11Ajax實(shí)現(xiàn)的異步傳輸與驗(yàn)證示例代碼
Ajax異步傳輸應(yīng)用很廣當(dāng)用戶注冊(cè)時(shí),當(dāng)用戶剛一輸完,立即判斷用戶是否存在這就用到了異步傳輸2014-01-01JQuery+ajax實(shí)現(xiàn)批量上傳圖片(自寫(xiě))
jquery+ajax方式實(shí)現(xiàn)單張圖片上傳的代碼是可以搜的到,實(shí)現(xiàn)批量上傳圖片的程序卻沒(méi)搜索到于是自己寫(xiě)了個(gè),感興趣的朋友可以參考下2013-04-04jQuery Ajax 實(shí)例詳解 ($.ajax、$.post、$.get)
本文給大家分享jquery ajax實(shí)例文章,由于jquery在異步提交方面封裝的非常好,直接用ajax非常麻煩,jquery大大簡(jiǎn)化了我們的操作,不用考慮瀏覽器的問(wèn)題了。對(duì)jquery ajax實(shí)例相關(guān)介紹感興趣的朋友一起學(xué)習(xí)吧2015-11-11js實(shí)現(xiàn)ajax分頁(yè)完整實(shí)例
這篇文章主要介紹了js實(shí)現(xiàn)ajax分頁(yè),以完整實(shí)例形式詳細(xì)分析了ajax分頁(yè)的具體步驟與實(shí)現(xiàn)技巧,代碼備有詳盡的注釋便于理解,需要的朋友可以參考下2016-04-04jquery中AJAX請(qǐng)求 $.post方法的使用
使用jQuery的$.post方法可以以POST形式向服務(wù)器發(fā)起AJAX請(qǐng)求.本篇文章主要給大家講解jquery中AJAX請(qǐng)求 $.post方法的使用,需要的朋友可以參考下2015-10-10[ASP.NET Ajax] ECMAScript基礎(chǔ)類以及Asp.net Ajax對(duì)類<Object&a
[ASP.NET Ajax] ECMAScript基礎(chǔ)類以及Asp.net Ajax對(duì)類<Object>的擴(kuò)展...2007-01-01Ajax遍歷jSon后對(duì)每一條數(shù)據(jù)進(jìn)行相應(yīng)的修改和刪除(代碼分享)
這篇文章主要介紹了Ajax遍歷jSon后對(duì)每一條數(shù)據(jù)進(jìn)行相應(yīng)的修改和刪除的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11springmvc 發(fā)送ajax出現(xiàn)中文亂碼的解決方法匯總
本文給大家介紹四種方法解決springmvc 發(fā)送ajax出現(xiàn)中文亂碼問(wèn)題,非常具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧2016-03-03原生ajax調(diào)用數(shù)據(jù)實(shí)例講解
這篇文章主要向大家介紹了原生ajax調(diào)用數(shù)據(jù)實(shí)例,具有一定的參考價(jià)值,感興趣的朋友可以參考一下2016-01-01