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驗(yàn)證郵箱格式是否正確實(shí)例講解
這篇文章主要介紹了一個(gè)jquery驗(yàn)證郵箱格式是否正確的實(shí)踐案例,利用正則表達(dá)式進(jìn)行驗(yàn)證,感興趣的小伙伴們可以參考一下2015-11-11jQuery在ie6下無法設(shè)置select選中的解決方法詳解
這篇文章主要介紹了jQuery在ie6下無法設(shè)置select選中的解決方法,結(jié)合實(shí)例分析了jQuery在ie6下無法設(shè)置select選中的原因與相關(guān)處理技巧,需要的朋友可以參考下2016-09-09jquery漸隱漸顯的圖片幻燈閃爍切換實(shí)現(xiàn)方法
這篇文章主要介紹了jquery漸隱漸顯的圖片幻燈閃爍切換實(shí)現(xiàn)方法,實(shí)例分析了jQuery操作圖片的技巧及鼠標(biāo)事件用法,需要的朋友可以參考下2015-02-02在瀏覽器中實(shí)現(xiàn)圖片粘貼的jQuery插件-- pasteimg使用指南
這篇文章主要介紹了在瀏覽器中實(shí)現(xiàn)圖片粘貼的jQuery插件-- pasteimg使用指南,需要的朋友可以參考下2014-12-12JQuery實(shí)現(xiàn)簡(jiǎn)單時(shí)尚快捷的氣泡提示插件
在程序提交后,為了提高用戶體驗(yàn)我們需要驗(yàn)證并提示出錯(cuò)的位置,利用JQuery我們可以輕松實(shí)現(xiàn)氣泡提示,需要的朋友可以了解下2012-12-127款風(fēng)格新穎的jQuery/CSS3菜單導(dǎo)航分享
下面給大家分享7款風(fēng)格新穎的jQuery/CSS3菜單導(dǎo)航讓用戶方便地找到想要的信息,而且更讓人有一種特殊的用戶體驗(yàn),希望大家會(huì)喜歡2013-04-04jQuery控制文本框只能輸入數(shù)字和字母及使用方法
這篇文章主要介紹了jQuery控制文本框只能輸入數(shù)字和字母及使用方法的相關(guān)資料,非常不錯(cuò)而且實(shí)用性也很高,需要的朋友可以參考下2016-05-05