jQuery學(xué)習(xí)筆記之 Ajax操作篇(二) - 數(shù)據(jù)傳遞
請(qǐng)求數(shù)據(jù)
我們可以使用 GET、POST 兩種方式向后端請(qǐng)求數(shù)據(jù),這里以 PHP 為例,假設(shè)有測(cè)試頁(yè)面 age.php,用于返回年齡信息,內(nèi)容為:
if(isset($_REQUEST['name']) && $_REQUEST['name'] == 'stephen') {
echo '23';
}
當(dāng)前頁(yè)面內(nèi)容為:
<div> <a href="age.php">stephen</a> <span>age : </span> <span id="sex"></span> </div>

我們希望點(diǎn)擊 a 標(biāo)簽后,在不刷新頁(yè)面的前提下獲取年齡信息。首先用 GET 方式請(qǐng)求數(shù)據(jù):
GET 方式
$('a').click(function(e) {
e.preventDefault();//
var url = $(this).attr('href'),
name = $(this).text(),
requestData = {'name': name};
$.get(url, requestData, function(data) {
$('#sex').html(data);
});
});
點(diǎn)擊 a 標(biāo)簽后,當(dāng)前頁(yè)面為:

數(shù)據(jù)請(qǐng)求成功。我們?cè)儆?POST 方式測(cè)試下:
POST 方式
$('a').click(function(e) {
e.preventDefault();//
var url = $(this).attr('href'),
name = $(this).text(),
requestData = {'name': name};
$.post(url, requestData, function(data) {
$('#sex').html(data);
});
});
代碼幾乎一樣,只是由 get 方法變?yōu)榱?post 方法。
這里我們其實(shí)還可以用 load 方法簡(jiǎn)化代碼:
$('a').click(function(e) {
e.preventDefault();
var url = $(this).attr('href'),
name = $(this).text(),
requestData = {'name': name};
$('#sex').load(url, requestData);
});
發(fā)送數(shù)據(jù)
除了可以使用 Ajax 技術(shù)從后端獲取數(shù)據(jù),還可以向后端發(fā)送數(shù)據(jù),常見(jiàn)的就是異步提交表單的情景,這里以用戶(hù)驗(yàn)證為例:
<form action="validate.php"> username:<input id="username" name="username" type="text" /> password:<input id="password" name="password" type="text" /> <input value="submit" type="submit" /> </form>

假設(shè)當(dāng)用戶(hù)名為 stephenlee,密碼為 123456 時(shí)驗(yàn)證通過(guò),否則失敗,測(cè)試頁(yè)面 validate.php 為:
if($_REQUEST['username'] == 'stephenlee' && $_REQUEST['password'] == '123456') {
echo 'pass';
} else {
echo 'fail';
}
使用 get 方式發(fā)送數(shù)據(jù)到后端驗(yàn)證:
$('form').submit(function(e) {
e.preventDefault();//
var url = $(this).attr('action'),
username = $('input[name="username"]').val(),
password = $('input[name="password"]').val(),
requestData = {'username': username, 'password': password};
$.get(url, requestData, function(result) {
alert(result);
});
});
輸入錯(cuò)誤用戶(hù)名 lucas 后,結(jié)果為:

輸入正確用戶(hù)名 stephenlee 后,結(jié)果為:

使用 post 方式發(fā)送數(shù)據(jù)思路相同,就不再贅述了。
- jQuery+Ajax+js實(shí)現(xiàn)請(qǐng)求json格式數(shù)據(jù)并渲染到html頁(yè)面操作示例
- 為jquery的ajax請(qǐng)求添加超時(shí)timeout時(shí)間的操作方法
- JQuery中Ajax的操作完整例子
- jQuery+Ajax實(shí)現(xiàn)無(wú)刷新操作
- jquery插件ajaxupload實(shí)現(xiàn)文件上傳操作
- Jquery操作Ajax方法小結(jié)
- Jquery ajax加載等待執(zhí)行結(jié)束再繼續(xù)執(zhí)行下面代碼操作
- Jquery Ajax請(qǐng)求文件下載操作失敗的原因分析及解決辦法
- 通過(guò)實(shí)例解析jQ Ajax操作相關(guān)原理
相關(guān)文章
jQuery中closest和parents的區(qū)別分析
本文給大家介紹jquery中parents()和closest()用法與區(qū)別介紹,在jquery中parents()查找父級(jí)元素刪除的時(shí)候,發(fā)現(xiàn)它不包含根元素,于是用了closest(),效果不錯(cuò),下面我來(lái)給大家具體的介紹一下2015-05-05
jQuery滾動(dòng)加載圖片效果的實(shí)現(xiàn)
實(shí)現(xiàn)滾動(dòng)加載的一個(gè)功能函數(shù),需要的朋友可以參考一下2013-03-03
結(jié)構(gòu)/表現(xiàn)/行為完全分離的選項(xiàng)卡(jquery版和原生JS版)
日常項(xiàng)目中常用到的,用jQuery和原生JS分別寫(xiě)了一個(gè). 兩種寫(xiě)法均實(shí)現(xiàn)了結(jié)構(gòu)/表現(xiàn)/行為的完全分離.當(dāng)然,稍作修改,可以在同一個(gè)頁(yè)面中應(yīng)用于多個(gè)選項(xiàng)卡.2010-08-08
jQuery+ajax實(shí)現(xiàn)文章點(diǎn)贊功能的方法
這篇文章主要介紹了jQuery+ajax實(shí)現(xiàn)文章點(diǎn)贊功能的方法,涉及jQuery基于ajax無(wú)刷新post提交實(shí)現(xiàn)點(diǎn)贊功能的具體步驟與相關(guān)技巧,需要的朋友可以參考下2015-12-12
jQuery設(shè)置指定網(wǎng)頁(yè)元素寬度和高度的方法
這篇文章主要介紹了jQuery設(shè)置指定網(wǎng)頁(yè)元素寬度和高度的方法,涉及jQuery操作width及height方法的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03
jQuery:節(jié)點(diǎn)(插入,復(fù)制,替換,刪除)操作
jQuery:節(jié)點(diǎn)(插入,復(fù)制,替換,刪除)操作,需要的朋友可以參考一下2013-03-03
jquery 學(xué)習(xí)之一 對(duì)象訪(fǎng)問(wèn)
jquery 學(xué)習(xí)之一 對(duì)象訪(fǎng)問(wèn)整理,學(xué)習(xí)jquery的朋友可以參考下。2010-11-11
jquery實(shí)現(xiàn)移動(dòng)端按鈕組左右滑動(dòng)
這篇文章主要為大家詳細(xì)介紹了jquery實(shí)現(xiàn)移動(dòng)端按鈕組左右滑動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03

