本篇文章實現了用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("片段加載失敗");
}
});
})
最後效果:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。