jQuery/Ajax/PHP/Json 的一个综合例子
jQuery 是一个优秀的 Javascript 框架,对 js 进行了优秀的包装,提供了许多方便的功能。jQuery 对 ajax 的包装也堪称优秀。
jQuery 可以以 json 文件传输协议来传输数据(类似 xml,而且大有取代 xml 的趋势),而网站后台代码必须与之配合使用。PHP 是用 json_encode 函数来对返回的 数组数据进行 编码的,但这个函数只有 PHP5.2版本以上才支持。
从网上找到一个 json 的操作类,本人在 PHP4.4.7 版本下测试通过。本人还建了个函数 function my_json_encode($ phparr),使代码兼容 PHP5.2 以上版本。
示例代码(包括 json 的类包软件)
以下是全部代码:
<html>
<head>
<title>jQuery Ajax Example Demo</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
});
});
$('#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("NAME:" + myjson.username + "<br/>JOB:" + myjson['job']);
}
);
});
$('#test_get').click(function ()
{
$.get(
'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)
{
var str="NAME:"+json.username+"<br />";
str+="AGE:"+json.age+"<br />";
str+="SEX:"+json.sex+"<br />";
str+="JOB:"+json.job+"<br />";
str+="APPEND:"+json.append;
$("#result").html(str);
}
</script>
<body>
<div id="result" style="background range;border:1px solid red;width:300px;height:200px;"></div>
<form id="formtest" action="" method="post">
<p><span>NAME:</span><input type="text" name="username" id="input1" /></p>
<p><span>AGE:</span><input type="text" name="age" id="input2" /></p>
<p><span>SEX:</span><input type="text" name="sex" id="input3" /></p>
<p><span>JOB:</span><input type="text" name="job" id="input4" /></p>
</form>
<button id="send_ajax">SUBMIT</button>
<button id="test_post"> OST SUBMIT</button>
<button id="test_get">GET SUBMIT</button>
</body>
</html>
ajax_json.php:
<?php
$arr = $_REQUEST;
$arr['append'] = 'TEST';
//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.php';
$json = new Services_JSON;
return $json->encode($phparr);
}
}
?>