本文實(shí)例講述了jQuery基于ajax操作json數(shù)據(jù)的方法。分享給大家供大家參考,具體如下:
jQuery Ajax 實(shí)例演示
jQuery Ajax 的三種格式,在與后臺進(jìn)行數(shù)據(jù)交互的時候可以是json格式也可以是xml格式,本人建議將數(shù)據(jù)轉(zhuǎn)化成json格式。
Xml與json的比較
1、可讀性
JSON和XML的可讀性可謂不相上下,一邊是建議的語法,一邊是規(guī)范的標(biāo)簽形式,很難分出勝負(fù)。
2、可擴(kuò)展性
XML天生有很好的擴(kuò)展性,JSON當(dāng)然也有,沒有什么是XML能擴(kuò)展,JSON不能的。
3、編碼難度
XML有豐富的編碼工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的編碼明顯比XML容易許多,即使不借助工 具也能寫出JSON的代碼,可是要寫好XML就不太容易了。
4、解碼難度
XML的解析得考慮子節(jié)點(diǎn)父節(jié)點(diǎn),讓人頭昏眼花,而JSON的解析難度幾乎為0。這一點(diǎn)XML輸?shù)恼媸菦]話說。
<html><head><title>jQuery Ajax 實(shí)例演示</title></head><script language="javascript" src="../lib/jquery.js"></script><script language="javascript">$(document).ready(function (){ $('#send_ajax').click(function (){ var params=$('input').serialize(); //序列化表單的值 $.ajax({ url:'ajax_json.php', //后臺處理程序 type:'post', //數(shù)據(jù)發(fā)送方式 dataType:'json', //接受數(shù)據(jù)格式 data:params, //要傳遞的數(shù)據(jù) success:update_page //回傳函數(shù)(這里是函數(shù)名) }); });//$.post()方式:$('#test_post').click(function (){ $.post( 'ajax_json.php', { username:$('#input1').val(), age:$('#input2').val(), sex:$('#input3').val(), job:$('#input4').val() }, function (data) //回傳函數(shù) { var myjson=''; eval('myjson=' + data + ';'); $('#result').html("姓名:" + myjson.username + "<br/>工作:" + myjson['job']); } ); });//$.get()方式:$('#test_get').click(function () 'ajax_json.php', { username:$("#input1").val(), age:$("#input2").val(), sex:$("#input3").val(), job:$("#input4").val() }, function(data) //回傳函數(shù) { var myjson=''; eval("myjson=" + data + ";"); $("#result").html(myjson.job); } );});});function update_page (json) //回傳函數(shù)實(shí)體,參數(shù)為XMLhttpRequest.responseText{var str="姓名:"+json.username+"<br />";str+="年齡:"+json.age+"<br />";str+="性別:"+json.sex+"<br />";str+="工作:"+json.job+"<br />";str+="追加測試:"+json.append;$("#result").html(str);}</script><body><div id="result" style="background:orange;border:1px solid red;width:300px;height:200px;"></div><form id="formtest" action="" method="post"> <p><span>輸入姓名:</span><input type="text" name="username" id="input1" /></p> <p><span>輸入年齡:</span><input type="text" name="age" id="input2" /></p> <p><span>輸入性別:</span><input type="text" name="sex" id="input3" /></p> <p><span>輸入工作:</span><input type="text" name="job" id="input4" /></p></form><button id="send_ajax">提交</button><button id="test_post">POST提交</button><button id="test_get">GET提交</button></body></html>
PHP 文件 ajax_json.php:
<?php//$arr = $_POST; //若以$.get()方式發(fā)送數(shù)據(jù),則要改成$_GET.或者干脆:$_REQUEST$arr = $_REQUEST;$arr['append'] = '測試字符串';//print_r($arr);$myjson = my_json_encode($arr);echo $myjson;function my_json_encode($phparr){ if(function_exists("json_encode")) { return json_encode($phparr); } else { require_once 'json/json.class.php'; $json = new Services_JSON; return $json->encode($phparr); }}?>
PS:關(guān)于json操作,這里再為大家推薦幾款比較實(shí)用的json在線工具供大家參考使用:
在線JSON代碼檢驗(yàn)、檢驗(yàn)、美化、格式化工具:
http://tools.VeVB.COm/code/json
JSON在線格式化工具:
http://tools.VeVB.COm/code/jsonformat
在線XML/JSON互相轉(zhuǎn)換工具:
http://tools.VeVB.COm/code/xmljson
json代碼在線格式化/美化/壓縮/編輯/轉(zhuǎn)換工具:
http://tools.VeVB.COm/code/jsoncodeformat
在線json壓縮/轉(zhuǎn)義工具:
http://tools.VeVB.COm/code/json_yasuo_trans
C語言風(fēng)格/HTML/CSS/json代碼格式化美化工具:
http://tools.VeVB.COm/code/ccode_html_css_json
更多關(guān)于jQuery相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《jquery中Ajax用法總結(jié)》、《jQuery form操作技巧匯總》、《jQuery常用插件及用法總結(jié)》、《jQuery操作json數(shù)據(jù)技巧匯總》、《jQuery擴(kuò)展技巧總結(jié)》、《jQuery拖拽特效與技巧總結(jié)》、《jQuery表格(table)操作技巧匯總》、《jQuery常見經(jīng)典特效匯總》、《jQuery動畫與特效用法總結(jié)》及《jquery選擇器用法總結(jié)》
希望本文所述對大家jQuery程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答