用jQuery的AJax實現非同步訪問、非同步載入_jquery

來源:互聯網
上載者:User

本篇文章實現了用jQuery的AJax實現非同步訪問和非同步載入,具有一定的參考價值,感興趣的小夥伴們可以參考一下。

【非同步訪問】

用一個例子用以說明:點擊按鈕,將input內使用者輸入的資料發送給服務端,並將結果返回給頁面。

首先是html承載內容:

<!DOCTYPE html> <html> <head lang="en">   <meta charset="UTF-8">   <title>AJax非同步訪問</title>   <script src="js/jquery-2.1.3.min.js"></script>   <script src="js/ajaxDemo.js"></script> </head> <body> <input type="text" id="nameValue"> <br/> <button id="btn">提交</button> <p>   結果:<span id="result"></span> </p> </body> </html> 

設定管理員:Server.php

<?php if(isset($_GET['name'])){   echo "姓名:".$_GET['name']; }else{   echo "參數錯誤"; } 

ajaxDemo.js實現AJax非同步訪問:

$(document).ready(function(){   $("#btn").on("click",function(){     //在與伺服器通訊較慢時給使用者提示資訊     $("#result").text("資料請求中,請稍後...");     //向伺服器發送請求(get、post)     $.get("Server.php",{name:$("#nameValue").val()},function(data){       $("#result").text(data);     }).error(function(){       //當伺服器出現異常時       $("#result").text("伺服器正在維護")     })   }) }) 

實現效果:

【非同步載入】

主要用到load()方法以及getScript()方法,具體以一個例子說明:

在現有html檔案中載入一個擬好的片段,以及在片段載入完成之前阻止使用者進一步操作的彈出框。

首先是現有html代碼,無任何內容:

<!DOCTYPE html> <html> <head lang="en">   <meta charset="UTF-8">   <title>AJax非同步載入</title>   <script src="js/jquery-2.1.3.min.js"></script>   <script src="js/main.js"></script> </head> <body>  </body> </html> 

擬一個js檔案getData.js寫一個函數最簡陋的彈出框提示為例:

function getData(){   alert("片段的內容引自新浪體育"); } 擬一個片段box.htm,承載要載入的片段內容:<div>   <h4>中超-耿曉峰失誤拉蒙兩球 申花7輪首敗1-4綠城</h4>   <p>     北京時間8月11日晚19點35分,2015年中超聯賽第22輪在杭州黃龍體育場開始一場較量,     由杭州綠城迎戰上海申花。上半場第7分鐘陳柏良突然冷射,導致耿曉峰接球脫手造成失球,     這是中華台北球員(陳昌源在比利時土生土長)在中超聯賽進的首球。     第12分鐘申花隊呂征禁區右路左腳淩空射門扳平比分。第25分鐘阿甘在底線附近把球送入禁區,     拉蒙頭槌得分,第37分鐘阿甘單刀赴會打入一球。     第60分鐘阿甘頭槌擺渡,拉蒙跟進射門梅開二度。最終杭州綠城4比1戰勝上海申花。   </p> </div> 

最後寫main.js來非同步載入getData.js以及box.htm到現有html檔案中。

$(document).ready(function(){   //非同步載入js檔案   $.getScript("js/getData.js").complete(function(){     getData();   })   //非同步載入片段   $("body").text("載入中...")   $("body").load("box.htm",function(url,status,c){     if(status=="error"){       $(this).text("片段載入失敗");     }   });  }) 

最後效果:

以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援雲棲社區。

相關文章

聯繫我們

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