本文實例講述了jQuery基於ajax操作json資料的方法。分享給大家供大家參考,具體如下:
jQuery Ajax 實例示範
jQuery Ajax 的三種格式,在與後台進行資料互動的時候可以是json格式也可以是xml格式,本人建議將資料轉換成json格式。
Xml與json的比較
1、可讀性
JSON和XML的可讀性可謂不相上下,一邊是建議的語法,一邊是規範的標籤形式,很難分出勝負。
2、可擴展性
XML天生有很好的擴展性,JSON當然也有,沒有什麼是XML能擴展,JSON不能的。
3、編碼難度
XML有豐富的編碼工具,例如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的編碼明顯比XML容易許多,即使不借助工具也能寫出JSON的程式碼,可是要寫好XML就不太容易了。
4、解碼難度
XML的解析得考慮子節點父節點,讓人頭昏眼花,而JSON的解析難度幾乎為0。這一點XML輸的真是沒話說。
<html> <head> <title>jQuery Ajax 实例演示</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', //数据发送方式 dataType:'json', //接受数据格式 data:params, //要传递的数据 success:update_page //回传函数(这里是函数名) }); }); //$.post()方式: $('#test_post').click(function (){ $.post( 'ajax_json.php', { username:$('#input1').val(), age:$('#input2').val(), sex:$('#input3').val(), job:$('#input4').val() }, function (data) //回传函数 { 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) //回传函数 { var myjson=''; eval("myjson=" + data + ";"); $("#result").html(myjson.job); } ); }); }); function update_page (json) //回传函数实体,参数为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()方式发送数据,则要改成$_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); } } ?>
希望本文所述對大家jQuery程式設計有所幫助。
更多jQuery基於ajax操作json資料簡單範例相關文章請關注PHP中文網!