2019-10-1 seo達人
“大名鼎鼎的”jQuery因為其極簡的引用方式而在N年前備受追捧,而今“浪潮”過去,還剩下什么?
我認識jQuery,只是在去年接觸ajax時了解,從而感興趣,進而深入探究(其實也沒多深入,只是相關的看了一下)。不得不說,jQuery對ajax支持的四個type:post(一般用于發送)、get(一般常用于接收)、put(修改)、delete(刪除) 令我非常震撼,太**實用了。
這其中,post和get是最常用的(因為好像說不是所有的瀏覽器都支持put和delete),具體的我在 這篇文章 中以JS方式提到,這里不再贅述。
load()
load()方法時jQuery中操作上最為簡單的Ajax方法,能載入其他的HTML代碼并插入到DOM中。其基本格式為:
load(url [,data] [,callback])
1
參數意義:
url: String類型,請求HTML頁面的URL地址
data(可選): Object類型,發送至服務器的key/value數據
callback(可選): Function,請求完成時的回調函數,無論請求成功或失敗
為什么說它是“特別的”呢?因為它只用于文檔流(html)的操作,而且,既可以是get操作,又可以是post操作:
基本示例:
//如果是jsp代碼,這里要加一行:
// <%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>請求的文件</title>
</head>
<body>
<div class="comment">
<h6>張三:</h6>
<p class="para">沙發</p>
</div>
<div class="comment">
<h6>李四:</h6>
<p class="para">板凳</p>
</div>
<div class="comment">
<h6>王五:</h6>
<p class="para">地板</p>
</div>
</body>
</html>
//如果是jsp代碼,這里要加一行:
//<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>發送ajax的文件</title>
<script src="js/jquery-2.1.0.js" type="text/javascript"></script>
//如果是jsp代碼,上面這一行要換成:<script src="<%=request.getContextPath()%>/js/jquery-2.1.0.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$("#send").on("click", function () {
$("#resText").load("test.jsp");
});
});
</script>
</head>
<body>
<input type="button" id="send" value="Ajax獲取">
<div class="comment">已有評論:</div>
<div id="resText"></div>
</body>
</html>
上面是“載入文檔”,它還可以“篩選載入的文檔”:
如果只需要加載某頁面內的某些元素,那么可以使用load()方法的URL參數來達到目的。通過為 URL參數 指定選擇符,就可以很方便地從加載過來的HTML文檔里篩選出所需要的內容。
load()方法的URL參數的語法結構為:“url selector”。注意,URL和選擇器之間有一個空格:
$(function () {
$("#send").on("click", function () {
$("#resText").load("test.html .para");
});
});
傳遞方式:
load()方法的傳遞方式根據 參數data 來自動指定。如果沒有參數傳遞,則采用GET方式傳遞;反之,則會自動轉換為POST方式:
//無參數傳遞,GET方式
$("#resText").load("test.html .para", function(){
//....
});
//有參數傳遞,POST方式
$("#resText").load("test.html .para",{name:"tom", age:"18}, function(){
//....
});
回調函數:
對于必須在加載完成后才能繼續的操作,load()方法提供了 回調函數 ,該函數 有3個參數 ,分別代表請求返回的內容、請求狀態和XMLHttpRequest對象 ,jQuery代碼如下:
$("#resText").load("test.html", function(responseText, textStatus, XMLHttpRequest){
//responseText:請求返回的內容——等同于js-ajax時的“得到服務器響應的文本格式的內容”(注意:js操作中的get、post...都在open()中規定)
//textStatus:請求狀態:success、error、notmodified、timeout4種
//XMLHttpRequest:XMLHttpRequest對象——這玩意一般用在判斷瀏覽器適用類型上
});
//注意:在load()方法中,無論Ajax請求是否成功,只要請求完成(complete)后,回調函數就被觸發。
藍藍設計( www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務。