日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 默认站点!

默认站点

當前位置: 首頁 >

JQuery(三)-- AJAX的深入理解以及JQuery的使用

發布時間:2023/12/2 27 豆豆
默认站点 收集整理的這篇文章主要介紹了 JQuery(三)-- AJAX的深入理解以及JQuery的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

HTTP

HTTP

http: 超文本傳輸協議。特點:? 簡單、快速、靈活、無狀態、無連接

URL: 統一資源定位符。

組成:協議名://主機IP:端口號/項目資源地址?傳遞參數的鍵值對#錨點

  ①ip地址在同一個網段是唯一的。如果是在公網中,整個公網的ip是唯一的。

  ②端口號默認是:80,可以省略不寫。常見的端口號:8080---tomcat,80---Apache

  ③本機IP: localhost 或者???? 127.0.0.1

?

常見的狀態碼:

??? 1XX:信息狀態碼
??????? 100 Continue 繼續,一般在發送post請求時,已發送了http header之后服務端將返回此信息,表示確認,之后發送具體參數信息

??? 2XX:成功狀態碼
??????? 200 OK 正常返回信息
??????? 201 Created 請求成功并且服務器創建了新的資源
??????? 202 Accepted 服務器已接受請求,但尚未處理

??? 3XX:重定向
??????? 301 Moved Permanently 請求的網頁已永久移動到新位置。
??????? 302 Found 臨時性重定向。
??????? 303 See Other 臨時性重定向,且總是使用 GET 請求新的 URI。
??????? 304 Not Modified 自從上次請求后,請求的網頁未修改過。

??? 4XX:客戶端錯誤
??????? 400 Bad Request 服務器無法理解請求的格式,客戶端不應當嘗試再次使用相同的內容發起請求。
??????? 401 Unauthorized 請求未授權。
??????? 403 Forbidden 禁止訪問。
??????? 404 Not Found 找不到如何與 URI 相匹配的資源。

??? 5XX: 服務器錯誤
??????? 500 Internal Server Error 最常見的服務器端錯誤。
??????? 503 Service Unavailable 服務器端暫時無法處理請求(可能是過載或維護)。

JSON對象和JS字符串

1.JSON對象:? JSON對象就是鍵值對的集合,鍵與值之間用冒號分隔,多對鍵值對之間用逗號分隔。

  注意:JSON對象,要求鍵必須是雙引號包裹的字符串。用單引號無效。

2.JSON字符串:將JSON對象,用字符串的形式進行包裹。

3.JSON對象與JSON字符串的互相轉換。

  ①對象 --> 字符串:JSON.stringify();

  ②字符串 --> 對象:JSON.parse();?? ????

  JQuery也提供了字符串轉對象的方法:$.parseJSON();

1 var jsonObj = { 2 "name" : "zhangsan", 3 "age" : "12", 4 "sex" : "男" 5 }; 6 7 //JSON字符串 8 var jsonObj1 = '{"name" : "zhangsan","age" : "12","sex" : "男"}'; 9 10 var jsonObj2 = "{\"name\" : \"zhangsan\",\"age\" : \"12\",\"sex\" : \"男\"}"; 11 12 //JS中將JSON字符串轉化成JSON對象 13 console.log(JSON.parse(jsonObj1)); 14 15 //JS中將JSON對象轉化成JSON字符串 16 console.log(JSON.stringify(jsonObj)); 17 18 //JQuery中將JSON字符串轉化成JSON對象 19 console.log($.parseJSON(jsonObj2));

4.JSON數組:將多個JSON對象組成數組的形式存放,稱為JSON數組。

  JSON數組可以和JSON對象相互嵌套,也就是說JSON對象的值可以是JSON數組。

1 var jsonArr = [ 2 { 3 "name":"zhangsan", 4 "hobby":[{"0":"0"},{"1":"1"}] 5 }, 6 { 7 "name":"zhangsan", 8 "hobby":[{"0":"0"},{"1":"1"}] 9 }, 10 { 11 "name":"zhangsan", 12 "hobby":[{"0":"0"},{"1":"1"}] 13 } 14 ];

AJAX

  AJAX:Asynchronous Javascript And XML(異步的Javascript和XML)。

  AJAX是一種用于創建快速動態網頁的技術。通過在后臺與服務器進行少量數據交換,AJAX可以使網頁實現異步更新。這意味著可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新。

?

Ajax應用場景:

  場景1 數據驗證

  場景2 按需取數據

  場景3 自動更新頁面

?

  JQuery對Ajax操作進行了封裝,在jQuery中$.ajax()方法屬于最底層的方法,第2層是load()、$.get()和$.post()方法,第3層就是$.getScript()和$.getJSON()方法。

?

  1、load()方法:載入HTML文檔

    load()方法是jQuery中最為簡單和常用的Ajax方法,能載入遠程HTML代碼并插入DOM中。它的結構為:load(url[,data][,callback]);

參數名稱類型說明
urlString請求HTML頁面的URL地址
data(可選)Object發送至服務器的key/value數據,JSON字符串
callback(可選)Function請求完成時的回調函數,無論請求成功還是失敗,加載完成后會執行函數
load()方法的傳遞方式根據參數data來自動指定。如果沒有參數傳遞,則采用GET方式傳遞;反之則會自動轉換為POST方式。 2、$.ajax(): 是JQuery中最底層的Ajax函數。參數接受一個大對象,用參數的鍵值對表示ajax請求的相關設置:
        type:表示ajax請求的方法,可以是get和post。
        url:表示請求的后臺URL地址。
        success:表示請求成功的回調函數。回調函數接收三個參數:參數1--請求成功接受的數據。
        error:當請求失敗時,執行的回調函數。
        complete:請求完成后,無論成功還是失敗都會執行的函數。
        statusCode:接收一個對象,對象的鍵是各種狀態碼,對象的值表示每種狀態碼對應的回調函數。
        async:設為true為異步,false為同步。默認是true
        data:請求時,向后臺傳遞的數據,是一個對象類型,以鍵值對的形式分別表示name:value
        dataType:預期返回的數據類型格式。常見的有JSON/text/html
        timeout:設置請求超時時間。?? ?
注意:使用數據時,需要注意返回的數據是JSON字符串還是JSON對象。
方法作用
url請求的地址
type請求的方式
dataType告訴jQuery,需要按照什么格式對服務器返回的數據進行解析,默認json。
async設為true表示異步請求,設為false表示同步請求。默認為true
data往后臺傳遞的數據
success請求成功的回調函數,返回data數據
error請求失敗的回調函數
beforeSend請求發送之前調用的函數
complete不論請求是成功還是失敗的,只要請求完成就會調用
statusCode接收一個對象,對象的鍵是各種狀態碼,對象的值表示每種狀態碼對應的回調函數。
timeout設置請求超時時間
1 $.ajax({ 2 type:"get", 3 url:"java1801.json", 4 async:true, 5 dataType:"json", 6 data:{"name":"張三","age":12}, 7 success:function(data,textStatus,jqXRM){ 8 console.log(data); 9 console.log(textStatus); 10 console.log(jqXRM); 11 console.log(jqXRM.responseText); 12 console.log(jqXRM.responseJSON); 13 }, 14 error:function(XMLHttpRequest, textStatus, thrownError){ 15 console.log(XMLHttpRequest); 16 console.log(textStatus); 17 console.log(thrownError); 18 }, 19 complete:function(XMLHttpRequest, textStatus){ 20 console.log(XMLHttpRequest); 21 console.log(textStatus); 22 }, 23 statusCode:{ 24 200:function(){ 25 console.log("請求成功"); 26 }, 27 404:function(){ 28 console.log("請求失敗"); 29 } 30 }, 31 timeout:200 32 });

[JS中的同源策略]
  在JS中,當請求其他文件時,要求被請求文件與當前文件必須處于同一主機名,同一個協議名,同一個端口號下,否則請求將不能成功,如果要請求非同源文件,必須進行跨域請求設置。

?

3.如果需要向服務器傳遞參數的話,可以使用$.get()方法和$.post()方法還有后面的$.ajax方法。

  $.get()/$.post():在$.ajax()的基礎上,進行封裝,默認使用get請求。

  接收4個參數:
?? ?  (1)請求的后臺Url
?? ?  (2)傳遞給后臺的數據,對象類型,相當于ajax中的data屬性。
?? ?  (3)請求成功的回調函數,相當于ajax中的success
?? ?  (4)預期返回的數據類型,相當與ajax中的dataType

?$.get()方法/$.post()方法

參數名稱類型說明
urlString請求HTML頁面的URL地址
data(可選)Object發送至服務器的key/value數據,會作為字符串憑接在url的后面
callback(可選)Function請求完成時的回調函數(只有當Response的返回狀態是success的時候,才調用該函數)
type (可選)String服務器返回內容的格式,包括xml、html、script、json、text、_default
1 $.get( 2 "java1801.json", { 3 "name": "zhangsan" 4 }, 5 function(data) { 6 console.log(data); 7 }, 8 "json" 9 );

?

4.$.getJSON():通過Get的方式,請求JSON數據。

?

5.serialize()方法會將表單中所有的內容拼接成key=value&key=value這樣的字符串。

?

$("#form input[type='button']:eq(0)").on("click",function(){var str = $("form:eq(0)").serialize();console.log(str);});

?

6.serializeArray()方法會將表單中所有的內容拼接成字符數組。

?

1 $("#form input[type='button']:eq(1)").on("click",function(){ 2 3 var arr = $("form:eq(0)").serializeArray(); 4 5 var obj = {}; 6 $.each(arr, function(index,item) { 7 var keys = item.name; 8 var value = item.value; 9 obj[keys] = item.value; 10 }); 11 12 console.log(JSON.stringify(obj)); 13 });

?

使用JQuery插件

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 7 <style type="text/css"> 8 .error{ 9 color: red; 10 } 11 </style> 12 13 <script src="js/jquery-1.10.2.js" type="text/javascript" charset="utf-8"></script> 14 <script src="js/jquery.validate.js" type="text/javascript" charset="utf-8"></script> 15 <script src="js/messages_zh.min.js" type="text/javascript" charset="utf-8"></script> 16 17 <script type="text/javascript"> 18 $(function(){ 19 20 $("form:eq(0)").validate({ 21 debug:true,//至驗證不提交表單 22 rules:{//規則 23 username:{ 24 required:true, 25 maxlength:16, 26 minlength:6 27 } 28 }, 29 messages:{//提示信息 30 username:{ 31 required:"必須輸入", 32 maxlength:"長度不能大于16", 33 minlength:"長度不能小于16" 34 } 35 }, 36 }); 37 38 }) 39 </script> 40 41 </head> 42 <body> 43 44 <form id="form"> 45 46  用戶名:<input type="text" name="username" /><br /> 47 密  碼:<input type="password" name="pwd" /><br /> 48 確認密碼:<input type="password" name="rpwd" /><br /> 49 郵  箱:<input type="text" name="email" /><br /> 50 51 <input type="submit" value="提交"/> 52 </form> 53 54 </body> 55 </html>

?


更多專業前端知識,請上 【猿2048】www.mk2048.com

總結

以上是默认站点為你收集整理的JQuery(三)-- AJAX的深入理解以及JQuery的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得默认站点網站內容還不錯,歡迎將默认站点推薦給好友。