jquery 框架使用教程 AJAX篇
更新時(shí)間:2009年10月11日 14:47:26 作者:
正好項(xiàng)目中準(zhǔn)備使用thickbox,于是干脆拋棄prototype.js,看起jquery.js了。JQuery確實(shí)不錯(cuò),體積比Prototype小了許多,而且使用起來更方便更靈活。有人說Prototype像JAVA,正統(tǒng);而JQuery像Ruby,靈活,更趨于OOP。
小試了下AJAX,感覺比prototype簡(jiǎn)潔多了,在JQuery中,AJAX有三種實(shí)現(xiàn)方式:$.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、構(gòu)建AJAX,JQUERY的好處是不需要在XHTML中使用JS代碼來觸發(fā)事件了,可以直接封裝在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', //后臺(tái)處理程序
type:'post', //數(shù)據(jù)發(fā)送方式
dataType:'json', //接受數(shù)據(jù)格式
data:params, //要傳遞的數(shù)據(jù)
success:update_page //回傳函數(shù)(這里是函數(shù)名)
});
});
});
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;
$("#result").html(str);
}
//$.post()方式:
$(function (){ //$(document).ready(function (){ 的簡(jiǎn)寫
$('#test_post').click(function (){
$.post('ajax_test.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()方式:
$(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()方式發(fā)送數(shù)據(jù),則要改成$_GET.或者干脆:$_REQUEST
$myjson=json_encode($arr);
echo $myjson;
?>
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、構(gòu)建AJAX,JQUERY的好處是不需要在XHTML中使用JS代碼來觸發(fā)事件了,可以直接封裝在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', //后臺(tái)處理程序
type:'post', //數(shù)據(jù)發(fā)送方式
dataType:'json', //接受數(shù)據(jù)格式
data:params, //要傳遞的數(shù)據(jù)
success:update_page //回傳函數(shù)(這里是函數(shù)名)
});
});
});
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;
$("#result").html(str);
}
//$.post()方式:
$(function (){ //$(document).ready(function (){ 的簡(jiǎn)寫
$('#test_post').click(function (){
$.post('ajax_test.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()方式:
$(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()方式發(fā)送數(shù)據(jù),則要改成$_GET.或者干脆:$_REQUEST
$myjson=json_encode($arr);
echo $myjson;
?>
相關(guān)文章
Jquery中ajax方法data參數(shù)的用法小結(jié)
本篇文章主要是對(duì)Jquery中ajax方法data參數(shù)的用法進(jìn)行了總結(jié)介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助2014-02-02
Jquery封裝tab自動(dòng)切換效果的具體實(shí)現(xiàn)
這篇文章介紹了Jquery封裝tab自動(dòng)切換效果的具體實(shí)現(xiàn)方法,有需要的朋友可以參考一下2013-07-07
JQuery中attr方法和removeAttr方法用法實(shí)例
這篇文章主要介紹了JQuery中attr方法和removeAttr方法用法,實(shí)例分析了jQuery中attr方法設(shè)置屬性與removeAttr方法移除屬性的使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-05-05
jquery Deferred 快速解決異步回調(diào)的問題
下面小編就為大家?guī)硪黄猨query Deferred 快速解決異步回調(diào)的問題。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-04-04
jQuery中獲取checkbox選中項(xiàng)等操作及注意事項(xiàng)
今天在做一個(gè)項(xiàng)目功能時(shí)需要顯示checkbox選項(xiàng)來讓用戶進(jìn)行選擇,由于前端不是很熟練,所以做了一個(gè)簡(jiǎn)單的Demo,其中遇到一些小問題,特記錄下來,希望能幫到遇到類似問題的同學(xué)們2013-11-11
Jquery焦點(diǎn)與失去焦點(diǎn)示例應(yīng)用
這篇文章主要介紹了Jquery焦點(diǎn)與失去焦點(diǎn)示例應(yīng)用,需要的朋友可以參考下2014-06-06
Jquery的hover方法讓鼠標(biāo)經(jīng)過li時(shí)背景變色
鼠標(biāo)經(jīng)過時(shí)讓li背景變色,在某些時(shí)候還是挺實(shí)用的,下面為大家介紹下使用Jquery的hover方法來實(shí)現(xiàn)下,感興趣的朋友可以參考下2013-09-09

