jquery 框架使用教程 AJAX篇
2024-05-06 14:13:39
供稿:網友
 
小試了下AJAX,感覺比prototype簡潔多了,在JQuery中,AJAX有三種實現方式:$.ajax(),$.post,$.get()。 
XHTML(主要): 
<div id="result" style="background:orange;border:1px solid red;width:300px;height:400px;"></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> 
JS: 
1、引入jquery框架: 
<script type="text/javascript" src="../js/jquery.js"></script> 
2、構建AJAX,JQUERY的好處是不需要在XHTML中使用JS代碼來觸發事件了,可以直接封裝在JS文件中: 
<script type="text/javascript"> 
//$.ajax()方式 
$(document).ready(function (){ 
$('#send_ajax').click(function (){ //直接把onclick事件寫在了JS中,而不需要混在XHTML中了 
var params=$('input').serialize(); //序列化表單的值,與prototype中的form.serialize()相同 
$.ajax({ 
url :'ajax_test.php', //后臺處理程序 
type:'post', //數據發送方式 
dataType:'json', //接受數據格式 
data:params, //要傳遞的數據 
success:update_page //回傳函數(這里是函數名) 
}); 
}); 
}); 
function update_page (json) { //回傳函數實體,參數為XMLhttpRequest.responseText 
var str="姓名:"+json.username+"<br />"; 
str+="年齡:"+json.age+"<br />"; 
str+="性別:"+json.sex+"<br />"; 
str+="工作:"+json.job; 
$("#result").html(str); 
} 
//$.post()方式: 
$(function (){ //$(document).ready(function (){ 的簡寫 
$('#test_post').click(function (){ 
$.post('ajax_test.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()方式: 
$(function (){ 
$('#test_get').click(function (){ 
$.get('ajax_test.php', 
{username:$("#input1").val(),age:$("#input2").val(),sex:$("#input3").val(),job:$("#input4").val()}, 
function (data) { 
var myjson=''; 
eval("myjson="+data+";"); 
$("#result").html(myjson.job); 
}); 
}); 
}); 
</script> 
PHP代碼: 
<?php 
$arr=$_POST; //若以$.get()方式發送數據,則要改成$_GET.或者干脆:$_REQUEST 
$myjson=json_encode($arr); 
echo $myjson; 
?>