jQuery基于ajax操作json數(shù)據(jù)簡單示例
本文實例講述了jQuery基于ajax操作json數(shù)據(jù)的方法。分享給大家供大家參考,具體如下:
jQuery Ajax 實例演示
jQuery Ajax 的三種格式,在與后臺進行數(shù)據(jù)交互的時候可以是json格式也可以是xml格式,本人建議將數(shù)據(jù)轉(zhuǎn)化成json格式。
Xml與json的比較
1、可讀性
JSON和XML的可讀性可謂不相上下,一邊是建議的語法,一邊是規(guī)范的標(biāo)簽形式,很難分出勝負。
2、可擴展性
XML天生有很好的擴展性,JSON當(dāng)然也有,沒有什么是XML能擴展,JSON不能的。
3、編碼難度
XML有豐富的編碼工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的編碼明顯比XML容易許多,即使不借助工 具也能寫出JSON的代碼,可是要寫好XML就不太容易了。
4、解碼難度
XML的解析得考慮子節(jié)點父節(jié)點,讓人頭昏眼花,而JSON的解析難度幾乎為0。這一點XML輸?shù)恼媸菦]話說。
<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', //數(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ù)為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操作,這里再為大家推薦幾款比較實用的json在線工具供大家參考使用:
在線JSON代碼檢驗、檢驗、美化、格式化工具:
http://tools.jb51.net/code/json
JSON在線格式化工具:
http://tools.jb51.net/code/jsonformat
在線XML/JSON互相轉(zhuǎn)換工具:
http://tools.jb51.net/code/xmljson
json代碼在線格式化/美化/壓縮/編輯/轉(zhuǎn)換工具:
http://tools.jb51.net/code/jsoncodeformat
在線json壓縮/轉(zhuǎn)義工具:
http://tools.jb51.net/code/json_yasuo_trans
C語言風(fēng)格/HTML/CSS/json代碼格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json
更多關(guān)于jQuery相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《jquery中Ajax用法總結(jié)》、《jQuery form操作技巧匯總》、《jQuery常用插件及用法總結(jié)》、《jQuery操作json數(shù)據(jù)技巧匯總》、《jQuery擴展技巧總結(jié)》、《jQuery拖拽特效與技巧總結(jié)》、《jQuery表格(table)操作技巧匯總》、《jQuery常見經(jīng)典特效匯總》、《jQuery動畫與特效用法總結(jié)》及《jquery選擇器用法總結(jié)》
希望本文所述對大家jQuery程序設(shè)計有所幫助。
- jquery拼接ajax 的json和字符串拼接的方法
- 純JS實現(xiàn)AJAX局部刷新功能
- ajax響應(yīng)json字符串和json數(shù)組的實例(詳解)
- JavaScript中從setTimeout與setInterval到AJAX異步
- 解決ajax不能訪問本地文件問題(利用js跨域原理)
- 原生JavaScript實現(xiàn)AJAX、JSONP
- 用ajax傳遞json到前臺中文出現(xiàn)問號亂碼問題的解決辦法
- 詳解使用Vue.Js結(jié)合Jquery Ajax加載數(shù)據(jù)的兩種方式
- AngularJS實現(xiàn)ajax請求的方法
- 輕松理解JavaScript之AJAX
相關(guān)文章
jqGrid 學(xué)習(xí)筆記整理——進階篇(一 )
這篇文章主要介紹了jqGrid 學(xué)習(xí)筆記整理——進階篇(一 )的相關(guān)資料,需要的朋友可以參考下2016-04-04
jQuery插件HighCharts實現(xiàn)的2D對數(shù)餅圖效果示例【附demo源碼下載】
這篇文章主要介紹了jQuery插件HighCharts實現(xiàn)的2D對數(shù)餅圖效果,結(jié)合實例形式分析了jQuery圖形插件HighCharts繪制2D對數(shù)餅圖的具體實現(xiàn)步驟與相關(guān)操作技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2017-03-03
基于jquery的內(nèi)容循環(huán)滾動小模塊(仿新浪微博未登錄首頁滾動微博顯示)
新浪微博未登錄首頁有一個“大家正在說”的模塊,動態(tài)滾動最新發(fā)布的微博。2011-03-03
jQuery Ajax之$.get()方法和$.post()方法
load()方法通常用來從Web服務(wù)器上獲取靜態(tài)的數(shù)據(jù)文件,然而這并不能體現(xiàn)Ajax的全部價值。在項目中,如果需要傳遞一些參數(shù)給服務(wù)器中的頁面,那么可以使用$.get()或者$.post()方法(或者是后面要講解到的$.ajax方法)。2009-10-10
JQuery 兩種方法解決剛創(chuàng)建的元素遍歷不到的問題
本文主要介紹兩種方法,處理JQuery遍歷剛創(chuàng)建的元素問題,簡單易用,希望能幫到大家。2016-04-04

