jQuery學習筆記之 Ajax操作篇(二) - 資料傳遞_jquery

來源:互聯網
上載者:User

請求資料

我們可以使用 GET、POST 兩種方式向後端請求資料,這裡以 PHP 為例,假設有測試頁面 age.php,用於返回年齡資訊,內容為:

if(isset($_REQUEST['name']) && $_REQUEST['name'] == 'stephen') {  echo '23';}

當前頁面內容為:

<div> <a href="age.php">stephen</a> <span>age : </span> <span id="sex"></span></div>

我們希望點擊 a 標籤後,在不重新整理頁面的前提下擷取年齡資訊。首先用 GET 方式請求資料:

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);  }); });

點擊 a 標籤後,當前頁面為:

資料請求成功。我們再用 POST 方式測試下:

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 方法變為了 post 方法。
這裡我們其實還可以用 load 方法簡化代碼:

 $('a').click(function(e) {  e.preventDefault();  var url = $(this).attr('href'),   name = $(this).text(),   requestData = {'name': name};  $('#sex').load(url, requestData); });

發送資料

除了可以使用 Ajax 技術從後端擷取資料,還可以向後端發送資料,常見的就是非同步提交表單的情景,這裡以使用者驗證為例:

<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>

假設當使用者名稱為 stephenlee,密碼為 123456 時驗證通過,否則失敗,測試頁面 validate.php 為:

if($_REQUEST['username'] == 'stephenlee' && $_REQUEST['password'] == '123456') {  echo 'pass';} else {  echo 'fail';}

使用 get 方式發送資料到後端驗證:

 $('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);  }); });

輸入錯誤使用者名稱 lucas 後,結果為:

輸入正確使用者名稱 stephenlee 後,結果為:

 

使用 post 方式發送資料思路相同,就不再贅述了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.