《鋒利的jQuery》心得筆記--Three Sections

来源:http://www.cnblogs.com/qzccl/archive/2016/03/31/5343045.html
-Advertisement-
Play Games

第六章 1、 JavaScript的Ajax的實現步驟: 1) 定義一個函數用來非同步獲取信息 2) 聲明: 3) 賦值(實現瀏覽器相容): 4) 初始化 5) 設置回調函數。因為要做非同步調用,所以需要註冊一個XMLHttpRequest對象將調用的回調事件處理器當它的readyState值改變時調用 ...


第六章

1、    JavaScript的Ajax的實現步驟:

1)         定義一個函數用來非同步獲取信息

function Ajax(){

}

 

2)         聲明:

var xmlHttpReq = null;

 

3)         賦值(實現瀏覽器相容):

if(window.ActiveXObject){

     xmlHttpReq = new ActiveXObject(“Microsoft.XMLHttp”);

}else if(window. XMLHttpRequest){

   xmlHttpReq = new XMLHttpRequest();

}

 

4)         初始化

xmlHttpReq.open(“GET”,”test.php”,true);//第三個參數是是否非同步的

 

5)         設置回調函數。因為要做非同步調用,所以需要註冊一個XMLHttpRequest對象將調用的回調事件處理器當它的readyState值改變時調用。

xmlHttpReq.onreadystatechange = RequestCallBack;

 

6)         發送請求,因為剛纔發送的是GET,所以可以不指定參數或使用null

xmlHttpReq.send(null)

 

7)        

function RequestCallBack(){

            if(xmlHttpReq. readyState == 4){

               if(xmlHttpReq.status == 200){

                   document.getElementById(“resText”).innerHTML= xmlHttpReq.responseText;

               }

             {

}

 

2、    load()

1)         載入HTML方法:load(【url】,【data,可選】,【function,可選】)

2)         篩選載入的HTML方法:load(“test.html .class”)

3)         傳遞方式:無參是GET方式傳遞,有參會自動轉為POST

(1)       無參(GET方式):load(“test.html .class”,function(){})

(2)       有參(POST方式):load(“test.html .class”,{name:”ccl”,age:”23”},function(){})

4)         回調參數:load(“test.html .class”,function(responseText,textStatus,XMLHttpReq){})

3、    $.get()和$.post()方法

1)         $.get(url,【data,可選】,【function(data,textStatus){},可選】,【type(伺服器返回的內容格式xml/html/script/json/text/_default) ,可選】)

(1)       【data】可以使用{ username:$(“#username”).val(),content:$(“#content”).val()}

(2)       【function(data,textStatus){}】:data返回的類型可以是xml/html/ json……

eg:接下來的內容寫在function裡面

(1st) html格式:(最簡單)

$("#res”).html(data)

(2nd)              xml格式

var username = $(data).find(“comment”).attr(“username”);

var content = $(data).find(“comment content”).text();

var txtHtml = “<div class=”comment”><h6>”+username+”:</h6><p class=’para’>”+ content+”</p></div>”;

$("#res”).html(txtHtml);

 

(3rd) json格式(可數據重用)

var username = $(data). username;

var content = $(data). content;

var txtHtml = “<div class=”comment”><h6>”+username+”:</h6><p class=’para’>”+ content+”</p></div>”;

$("#res”).html(txtHtml);

 

2)         $.post()傳輸的數據不受限制,相對比較安全,結構和使用方法和$.get相同

4、    $.getScript()直接載入js文件

  $.getScript(‘test.js’,【function(){},可選】)

 

5、    $.getJSON()直接載入JSON文件

$. getJSON (‘test.json’,【function(data){},可選】)

 

6、    $.each(【data】,【function(){}】),遍歷的方法

7、    $.ajax(【只放一個參數,但是參數是可選的,參數是以key:value】)

//放多個參數,$.ajax({key:value, key:value, key:value})

8、    序列化元素

1)         serialize()  能夠將元素內容序列化為字元串,表單、其他選擇器選取的元素都能用

$.get(url,$(“#forrm1”).serialize(),function(){})

$(“:checkbox,:radio”) .serialize()

 

2)         serializeArray()  將DOM元素序列化後,返回JSON格式的數據,之後可以使用$.each()迭代輸出

fields = $(“:checkbox,:radio”) . serializeArray ();

$.each(fields,function(I, field){

      $(“#res”).append(field.value+”,”);

});

 

3)         $.param()

eg:

obj = {a:1,b:2}

   k = $.param(obj)//a=1&b=2

 

9、    全局事件

1)         ajaxStart和 ajaxStop

<div id=”loading”>載入中……</div>

$(“#loading”).ajaxStart(function(){  $(this).show()  })

$(“#loading”).ajaxStop (function(){  $(this).hide()  })

 

2)         ajaxCompele()//請求完成時執行

3)         ajaxError()

4)         ajaxSend()

5)         ajaxSuccess()

6)         global設置為false,讓某個ajax不受全局影響

$.ajax({global:false})

第七章

1、    驗證

1)         自定義驗證信息

(1)       在jQuery代碼中增加

errorELement:"em",

    success:function(lable){

       //lable指向上面的em標簽

       lable.text(" ").addClass("success");

    }

 

(2)       在css中增加

em.error{

    background: url(../img/exit.png) no-repeat 0px 0px;

    padding-left: 16px;

}


em.success{

    background: url(../img/icon_success.png) no-repeat 0px 0px;

    padding-left: 16px;

}

 

 

2)   自定義驗證方法

  

 $.validator.addMethod("postcode",function(value,element,params){

       var postcode = /^[0-9]{6}$/;

       return this.optional(element)||(postcode.test(value));

    },"請填寫正確的郵編");

 

2、    表單

1)         ajaxForm()能接受0個或1個參數,單個參數可以是回調函數,也可以是options

2)         ajaxSubmit()能接受0個或1個參數,單個參數可以是回調函數,也可以是options

var  options = {

   target:’#out’//伺服器返回來的內容放在這個元素中

   brforeSubmit:showRequest //提交前的回調函數

   success:showResponse//提交後的回調函數

   url: //預設是form的action,申明則覆蓋

   type://預設是form的method,申明則覆蓋

   dataType:null//伺服器返回來的類型,html、xml、json

   clearFrom:true//提交成功後清除所有表單的值

   resetFrom:true//提交成功後重置所有表單的值

   timeout:3000//限制請求時間,大於這個時間,跳出請求

}

function showRequest(formData,jqForm,options){

   var queryString = $.param(formData);

  //var formElement = jqForm[0];// jqForm封裝了表單的元素

  //var address = formElement.address.value;

return true;

}

function showResponse((responseText, statusText,xhr,$form){

  // statusText【success/error】

}

 

 

3、    模擬視窗插件

1)         調用靜態視窗

(1)       法一:$(“#element-id”).modal();

(2)       法二:$(“#element-id”).modal({options});

$.modal(“<div><h1>XXXX</h1></div>”,{options});

2)         定義有樣式的靜態視窗:

(1)       通過外部的css,選項對象或者兩個一起來應用樣式,modal overlay、container、data元素的css選項分別是overlayCss、containerCss、dataCss,它們都是鍵值對屬性,

(2)       內部定義瞭如下的css樣式:simplemodal-overlay、simplemodal-container、simplemodal-data

4、    cookie

1)         寫入cookie:$.cookie(‘the_cookie’,’the_value’);

2)         讀取Cookie:$.cookie(‘the_cookie’);

3)         刪除cookie:$.cookie(‘the_cookie’,null);

4)         其他可選參數:

cookie:$.cookie(‘the_cookie’,’the_value’,{

   expires:7,//有效期

   path:’/’,//cookie的路徑屬性

   domain:’jquery.com’,//cookie的功能變數名稱屬性

   secure:true//如果設為true,那cookie的傳輸會要求一個安全協議,例如HTTPS

});

 

5、    UI插件:分為交互、微件、效果庫

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前段時間做項目,有個功能是消息提醒。 我相信很多大牛都做過。下麵來分享我遇到的問題和解決方案。 首先我們的項目是用frameset框架,main代碼。 <frameset name="myFrame" cols="85,*" frameborder="no" border="0" framespac ...
  • 即將從事Web前端的工作的 先對即將從事的行業有個瞭解。 Web前端發展史: 第一個網頁誕生於90年代初,早期的網頁除了一些小圖片和毫無佈局可言的標題段落,其全由文字構成。然而隨著時代的進步,互聯網的不斷發展,接下來出現了表格佈局,此次是flash,最後是基於CSS的網頁設計。不可否認,前端頁面重構 ...
  • JavaScript中有三個可以對字元串編碼的函數,分別是: escape,encodeURI,encodeURIComponent,相應3個解碼函數:unescape,decodeURI,decodeURIComponent 。 下麵簡單介紹一下它們的區別 1 escape()函數 定義和用法es ...
  • 前面的話:JavaScript可運行在所有主要平臺的主流瀏覽器上,也可運行在每一個主流操作系統的伺服器端上。所以呢,要想成為一名優秀的全棧工程師,必須懂得JavaScript語言。這是我整理的JS的部分函數問題,供大家參考借閱,有不妥的地方也請多多指教。 1、函數的三要素 1.1 函數的功能 1.2 ...
  • 該篇隨我讀書的進度持續更新閱讀書目:《JavaScript設計模式》 2016/3/30: 模式是一種可復用的解決方案,可用於解決軟體設計中遇到的常見問題./將解決問題的方法製作成模板,並且這些模板可應用於多種不同的情況.有效模式的附加要求:適合性,實用性,適用性. 模式的優點: 防止局部問題引起大 ...
  • 基本數據類型 number string boolean underfined null; 引用數據類型 Object Array RegExp; typeof 檢測數據類型 但是不能檢測(對象、數組、正則) instanceof/constructor檢測某一個實例是否屬於一個類; 我們的cons ...
  • 前一篇:JS模塊化工具requirejs教程(一):初識requirejs我們以非常簡單的方式引入了requirejs,這一篇將講述一下requirejs中的一些基本知識,包括API使用方式等 基本API require會定義三個變數:define,require,requirejs,其中requi ...
  • 隨著網站功能逐漸豐富,網頁中的js也變得越來越複雜和臃腫,原有通過script標簽來導入一個個的js文件這種方式已經不能滿足現在互聯網開發模式,我們需要團隊協作、模塊復用、單元測試等等一系列複雜的需求。 RequireJS是一個非常小巧的JavaScript模塊載入框架,是AMD規範最好的實現者之一 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...