鋒利的jQuery第2版學習筆記6、7章

来源:http://www.cnblogs.com/TwinklingZ/archive/2016/04/04/5353242.html
-Advertisement-
Play Games

第6章,jQuery與Ajax的應用 Ajax的優勢和不足 Ajax的優勢 1、不需要插件支持 2、優秀的用戶體驗 3、提高Web程式的性能 4、減輕伺服器和帶寬的負擔 Ajax的不足 1、瀏覽器對XMLHttpRequest對象的支持度不足 2、破壞瀏覽器前進、後退按鈕的正常功能 3、對搜索引擎的 ...


第6章,jQuery與Ajax的應用

Ajax的優勢和不足

Ajax的優勢

1、不需要插件支持 2、優秀的用戶體驗 3、提高Web程式的性能 4、減輕伺服器和帶寬的負擔

Ajax的不足

1、瀏覽器對XMLHttpRequest對象的支持度不足 2、破壞瀏覽器前進、後退按鈕的正常功能 3、對搜索引擎的支持的不足 4、開發和調試工具的缺乏

Ajax的XMLHttpRequest對象

Ajax的核心是XMLHttpRequest對象,它是Ajax實現的關鍵----發送非同步請求、接收響應及執行回調都是通過它來完成的。 IE5、IE6是以ActiveXObject的方式引入XMLHttpRequest對象的,而其他瀏覽器的XMLHttpRequest對象是window的子對象

jQuery中的Ajax

1、load()方法

語法結構:load(url [,data] [,callback]) load()方法參數解釋
參數 類型 說明
url String 請求HTML頁面的url地址
data(可選) Object 發送至伺服器的key/value數據
callback(可選) Function 請求完成時的回調函數,無論請求成功或失敗
篩選載入的HTML文檔
$('#resText').load("test.html .para");     // 載入test.html頁面中class為“para”的內容
傳遞方式 load()方法會根據參數data來自動指定,有參數傳遞為POST方式,無參數則為GET方式 回調函數 有3個參數:1、請求返回的內容;2、請求的狀態;3、XMLHttpRequest對象 註:通常用於從Web伺服器獲取靜態文件

2、$.get()與$.post()方法

(1)$.get()使用GET方式來進行非同步請求 語法結構:$.get(url [,data] [,callback] [,type]); $.get()方法參數解釋
參數 類型 說明
url String 請求的HTML頁面的url地址
data(可選) Object 發送至伺服器的key/value數據會附加在請求URL中
callback(可選) Function 載入成功時回調函數,自動將請求結果和狀態傳遞給該方法
type(可選) String 伺服器返回內容的格式,xml,html,script,json,text,_default
回調函數 只有兩個參數:1、data,返回的內容,xml文檔,json文件等;2、請求狀態:success、error、notmodified、timeout 註:只有當數據成功返回(success)才被調用 (2)$.post()使用POST方式進行非同步請求 GET與POST的區別 <1>GET請求會將參數跟在URL後進行傳遞,POST則是作為HTTP實體內容發送個Web伺服器。 <2>GET對傳輸數據有大小限制(通常不大於2kb),而POST則要比GET多的多(理論上不限制) <3>GET請求會被瀏覽器緩存下來,在某種情況下會有嚴重的安全性問題,而POST則可避免 <4>GET與POST傳遞的數據在伺服器端獲取方式也不相同

3、$.getScript()方法和$.getJson()方法

(1)$.getScript() 使用$.getScript()方法載入一個js文件就跟載入一個HTML頁面一樣簡單,而且不需要對js文件進行處理,js文件會自動執行 回調函數 會在js載入成功後執行 (2)$.getJson() $.getJson()用於載入json文件 $.each()方法,jQuery中用於遍歷對象和數組,接受兩個參數:1、數組或對象;2、回調函數(接受兩個參數:1、對象成員或數組索引;2、對應變數或內容)

4、$.ajax()方法

語法結構:$.ajax(options) options對象中,參數以key/value形式存在,所有參數都是可選 $.ajax()方法有大量的參數,需要另查資料,之後再補充

序列化元素

1、serialize()方法 作用於一個jQuery對象,能夠將DOM元素內容序列化為字元串,用於Ajax請求 註:參數傳遞時要註意將參數進行編碼,即使用URI編碼,若不希望編碼帶來麻煩,可以使用serialize()方法,它會自動編碼 2、serializeArray()方法 將DOM序列化後,返回json格式數據 3、$.param()方法 serialize()方法核心,用以對一個對象按照key/value進行序列化

jQuery中的Ajax全局事件

當Ajax請求開始時,觸發ajaxStart()方法的回調函數;當Ajax請求結束時,觸發ajaxStop()方法的回調函數 其他的全局方法
方法名稱 說明
ajaxComplete(callback) Ajax請求完成時執行函數
ajaxError(callback) Ajax請求發生錯誤時執行函數,捕捉到的錯誤可以作為最後一個參數傳遞
ajaxSend(callback) Ajax請求發送前執行的函數
ajaxSuccess(callback) Ajax請求成功時執行函數

第7章,jQuery插件的使用和寫法

jQuery表單驗證插件----Validation

下載地址: http://bassistance.de/jquery-plugins/jquery-plugin-validation/ API: http://docs.jquery.com/Plugins/Validatioin

jQuery表單插件----Form

核心方法:ajaxForm()和ajaxSubmit() 下載地址: http://jquery.malsup.com/form/#download ajaxForm()和ajaxSubmit()都可以接受0或1個參數,當為單個參數時,既可以是回調函數,也可以是options對象,通過傳遞options對象,使它們對錶單擁有更多的控制權

模態視窗插件----SimpleModal

下載地址: http://www.ericmmartin.com/projects/simplemodal/ SimpleModal提供了兩種方法調用模態視窗: 1、作為鏈式jQuery函數:
$("#elementid").modal();
2、作為一個單獨的函數:
$.modal("<div><h1>SimpleModal</h1></div>");
兩種方法都可接收一個可選參數:options
$("#elementid").modal({options});
$.modal("<div><h1>SimpleModal</h1></div>",{options});
API: http://www.ericmmartin.com/projects/simplemodal/

管理Cookie的插件----Cookie

下載地址: http://github.com/carhartl/jquery-cookie

jQuery UI插件

下載地址: http://ui.jquery.com/download http://jqueryui.com/download

編寫jQuery插件

1、插件種類
(1)封裝對象方法的插件 (2)封裝全局函數的插件 (3)選擇器插件 2、插件基本要點 (1)jQuery插件推薦命名jquery.[插件名].js (2)所有對象方法都應當附加到jQuery.fn對象上,所有全局函數都應當附加到jQuery對象本身上 (3)在插件內部,this指向當前通過選擇器獲取的jQuery對象 (4)可以通過this.each來遍歷所有元素 (5)所有方法或函數插件都應當以分號結尾 (6)插件應返回一個jQuery對象,以保證插件可鏈式操作 (7)避免在插件內部使用$作為jQuery對象的別名,應使用完整的jQuery來表示,避免衝突,當然,也可以使用閉包來迴避這種問題

jQuery插件機制

jQuery提供了兩個用於擴展jQuery功能的方法,即jQuery.fn.extend()和jQuery.extend() jQuery.fn.extend()用於擴展第一類插件,jQuery.extend()用於擴展後兩種插件
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 問題場景 最近項目在發佈的時候出現了一個莫名其妙的錯誤:在websphere8.5上面可以部署但是不能正常訪問,但是在tomcat和websphere7.0上面卻可以正常部署訪問。所報錯誤如下: 剛開始以為是版本相容性的問題,於是到網上各種找答案,還是不能解決。後來順著filter這條線索發現,應該 ...
  • dict是字典dictionary的縮寫,他存放的是鍵值對key/value,用花括弧表示,格式為d={'micheal':99,'jack':88} 當我們訪問的時候直接print(d['micheal'])#輸出相應的99; 可以給dict複製並且會覆蓋掉原來的value,但是如果key沒有對應 ...
  • 隨著互聯網信息技術日新月異的發展,一個海量數據爆炸的時代已經到來。如何有效地處理、分析這些海量的數據資源,成為各大技術廠商爭在激烈的競爭中脫穎而出的一個利器。可以說,如果不能很好的快速處理分析這些海量的數據資源,將很快被市場無情地所淘汰。當然,處理分析這些海量數據目前可以借鑒的方案有很多:首先,在分 ...
  • 回顧: 上一節中鄙人通過解析表達式樹生成Sql碎片,其中我也把解析表達式類代碼貼了出來,文章發佈之後我對ExpressionAnalyzer類做了些改動,下麵我還會將代碼貼出來,廢話不多說,直接進入今天的主題。 實體類設計: 首先,我覺得要想直接通過實體類生成Sql語句,那麼你可能要知道這個實體類對 ...
  • 作者:禪樓望月( http://www.cnblogs.com/yaoyinglong ) JavaScript里也可以像Java等面向對象的語言世界里創建自定義的類型,但是由於JavaScript中不支持使用class關鍵字來創建自定義的類型,因此我們只能另闢蹊徑……下麵我們一起來看在JavaSc ...
  • 作用: 給用戶提供一個界面(前臺界面),讓用戶填寫相應的信息,對用戶提交的信息進行收集、分類、與用進行交互。 表單的工作流程: 1、用戶在具有表單的頁面填寫數據 2、將數據提交至後臺(.php) 例如uli.php 3、後臺(.php)接收數據後進行驗證,如果驗證通過,則寫入資料庫或從資料庫將數據讀... ...
  • 文件尾碼名 sass有兩種尾碼名文件:一種尾碼名為sass,不使用大括 號和分號;另一種就是我們這裡使用的scss文件,這種和我們 平時寫的css文件格式差不多,使用大括弧和分號。而本教程中 所說的所有sass文件都指尾碼名為scss的文件。在此也建議使 用尾碼名為scss的文件,以避免sass尾碼 ...
  • 第8章,用jQuery打造個性網站 網站結構 文件結構 images文件夾用於存放將要用到的圖片 styles文件夾用於存放CSS樣式表,個人更傾向於使用CSS文件夾 scripts文件夾用於存放jQuery腳本,個人更傾向於使用JS文件夾存放所有的js及jQuery腳本 編寫CSS樣式 推薦首先編 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...