StartKit.Ajax

來源:互聯網
上載者:User
 

  1. //ajax應用
  2. //天哪,php我看不懂。算了。找個asp.net的例子吧。
  3. /*
  4.     用jQuery產生一個DIV容器,ID是"rating".
  5.     代碼產生了5個連結,並將它們追加到id為"rating"容器中,當其中一個連結被點擊時,
  6.     該連結標明的分數就會以rating參數形式發送到rate.php,然後,
  7.     結果將以XML形式會從伺服器端傳回來,添加到容器中,替代這些連結。
  8. */
  9. $(document).ready(function() {
  10.     // generate markup
  11.     var ratingMarkup = ["Please rate: "];
  12.     for(var i=1; i <= 5; i++) {
  13.         ratingMarkup[ratingMarkup.length] = "<a href='#'>" + i + "</a> ";
  14.     }
  15.     // add markup to container and applier click handlers to anchors
  16.     $("#rating").append( ratingMarkup.join('') ).find("a").click(function(e) {
  17.         e.preventDefault();
  18.         // send requests
  19.         $.post("rate.php", {rating: $(this).html()}, function(xml) {
  20.             // format result
  21.             var result = [
  22.                 "Thanks for rating, current average: ",
  23.                 $("average", xml).text(),
  24.                 ", number of votes: ",
  25.                 $("count", xml).text()
  26.             ];
  27.             // output result
  28.             $("#rating").html(result.join(''));
  29.         } );
  30.     });
  31. });
  32. /*
  33. 一個在使用AJAX載入內容時經常發生的問題是:當載入一個事件控制代碼到一個HTML文檔時,
  34. 還需要在載入內容上應用這些事件,你不得不在內容載入完成後應用這些事件控制代碼,
  35. 為了防止代碼重複執行,你可能用到
  36. */
  37. // lets use the shortcut
  38. $(function() {
  39.     var addClickHandlers = function() {
  40.         $("a.clickMeToLoadContent").click(function() {
  41.             $("#target").load(this.href, addClickHandlers);
  42.         });
  43.     };
  44.     addClickHandlers();
  45. });
  46. /*
  47. 現在,addClickHandlers只在DOM載入完成後執行一次,這是在使用者每次點擊具有clickMeToLoadContent 這個樣式的連結並且內容載入完成後.
  48. 請注意addClickHandlers函數是作為一個局部變數定義的,而不是全域變數(如:function addClickHandlers() {...}),
  49. 這樣做是為了防止與其他的全域變數或者函數相衝突.
  50. 另一個常見的問題是關於回調(callback)的參數。你可以通過一個額外的參數指定回調的方法,簡單的辦法是將這個回調方法包含在一個其它的function中:
  51. */
  52. $(function(){
  53.     // get some data
  54.     var foobar = ...;
  55.     // specify handler, it needs data as a paramter
  56.     var handler = function(data) {
  57.       ...
  58.     };
  59.     // add click handler and pass foobar!
  60.     $('a').click( function(event) { handler(foobar); } );
  61.     // if you need the context of the original handler, use apply:
  62.     $('a').click( function(event) { handler.apply(this, [foobar]); } );
  63. });
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.