1. 程式人生 > >Ajax最常用法介紹

Ajax最常用法介紹

本文只介紹jQuery中Ajax的最常用格式,如果你想了解原生的Ajax介紹,請移步廖雪峰關於Ajax的介紹

1、什麼是Ajax

Ajax是“Asynchronous JavaScript and XML”的縮寫。他是指一種建立互動式網頁應用的網頁開發技術。

怎麼讀?我們大多數程式設計師習慣讀成:阿賈克斯。因為這是個縮寫,我覺得按大部分人的讀法就行了,畢竟不是一個英文單詞。這裡採用廣泛的、識別度高的讀法(關於讀法我有很多想法,這裡不展開了)。

Ajax是用於:前端頁面向後端介面請求資料,然後獲得響應。

2、為什麼要用Ajax

這裡我們要比較一下,如果不用Ajax會怎麼樣?如果不用Ajax,那我們就用form表單的形式傳送請求到伺服器。如果仔細觀察一個Form的提交,你就會發現,一旦使用者點選“Submit”按鈕,表單開始提交,瀏覽器就會重新整理頁面,然後在新頁面裡告訴你操作是成功了還是失敗了。如果不幸由於網路太慢或者其他原因,就會得到一個404頁面。

如果要讓使用者留在當前頁面中,同時發出新的HTTP請求,就可以用Ajax傳送這個新請求。可以在同一個頁面中傳送多個Ajax請求,而且互不干擾,這就實現了局部重新整理。

3、jQuery中Ajax的最常用格式

jQuery中Ajax的用法,是目前Ajax所有用法中最常見的,而且,在使用其他js框架的時候,比如Vue,很多人也習慣用jQuery中Ajax的用法,因為真的太好用了。不過用的時候,一定要先引入jQuery,文末提供了 jquery-3.2.1.min.js 的下載連結。

下面是本文的重點:

alert(1);                       //這裡是為了說明async屬性,見下面介紹
jQuery.ajax({
	url:"請求伺服器的介面地址",
	type:'post',                //也可以是get,post最常用
	data:{                      //data裡面就是請求這個url後面帶的引數列表
		'name':'lily',
            'sex':'girl',
            'age':12
	},
        async:true,                 //基本都是預設不寫(true),這裡是為了說明async屬性,見下面介紹    
	dataType:'json',            //在現在的專案中,json格式也是最常用的
	success:function(data){     //data就是伺服器返回的資料,一般都是json格式
		alert('成功!');        //這裡寫請求成功之後你自己處理資料的程式碼
	},
	error:function(){
		alert('錯誤!');        //這是請求錯誤的時候,你自己處理的程式碼
	}
});
alert(2);                      //這裡也是為了說明async屬性,見下面介紹

3.1 請注意書寫的格式

jQuery.ajax({})中,都是json格式key-value。其中value可以是字串,如url;可以是布林值,如async;也可以是一個json,如data;也可以是函式,如success;當然還可以是數字。

3.2 關於url、type、data等後面的內容,我註釋寫的很清楚,所以這裡不說了,除了async。

3.3 關於Ajax中的async

之所以說async屬性,是為了讓我們更好的理解什麼是非同步,為啥可以實現區域性重新整理。

當async值為true,也就是說可以非同步請求,那麼當程式執行完alert(1)之後,可以形象的理解,程式會生成一個分支,這個分支去執行Ajax中的內容,主程式繼續往下執行alert(2),所以當async值為true時,我們看到彈出1後,立馬彈出2。

當async值為false,也就是說不可以非同步請求,那麼當程式執行完alert(1)之後,程式繼續向下去執行Ajax中的內容,等執行完Ajax中的內容後,才會繼續往下執行alert(2),所以當async值為false時,我們看到彈出1後,要等Ajax執行完,才能彈出2。

學過後端語言的朋友可能會說,當async值為true時,不就是執行兩個執行緒嗎?我說:你是對的!多執行緒就是同一個程式中多個執行路徑。Ajax確實實現了多執行緒。

4、參考文獻和jQuery下載

4.1、參考文獻

4.2、jQuery下載地址

相關推薦

Ajax用法介紹

本文只介紹jQuery中Ajax的最常用格式,如果你想了解原生的Ajax介紹,請移步廖雪峰關於Ajax的介紹。 1、什麼是Ajax Ajax是“Asynchronous JavaScript and XML”的縮寫。他是指一種建立互動式網頁應用的網頁開發技術。 怎麼讀?

linux壓縮tar用法

轉自 http://blog.sina.com.cn/s/blog_8882eb010102vwc4.html 本人於(2015-07-16 21:57:30)創作,無法實現搬遷,只能重新貼上。 去年去南京出差的時候領導就教過我解壓tar包的方法,不用過幾天,一天之後就忘了。就在前幾天,自己想起

mysql中模糊查詢的四種用法介紹

包含 如果 正則 搜索 name 模糊查詢 長度 use mysql 下面介紹mysql中模糊查詢的四種用法: 1,%:表示任意0個或多個字符。可匹配任意類型和長度的字符,有些情況下若是中文,請使用兩個百分號(%%)表示。 比如 SELECT * FROM [user] W

Shell函數的7種用法介紹

函數返回值 cor ont 引用 local bds () 位置 位置參數 1. 在shell文件內部定義函數並引用: 復制代碼代碼如下: [~/shell/function]# cat factorial.sh #!/bin/bashfunction factori

初學編程問的幾個問題!

愛創課堂 web前端初學編程最常問的幾個問題!隔行如隔山,初學編程往往不知道從何入手,非常迷茫,以下幾個問題是我經常被問到的,總結出來分享給讀者。1多久能學會編程?這是一個沒有答案的問題。每個人投入的時間、學習效率和基礎都不一樣。如果你每天都拿出大把的時間來學習,那麽兩三個月就可以學會web前端,不到半年時間

cpio命令常規用法介紹

命令 linux cpio cpio是用來建立、還原備份檔的工具程序,它可以加入、解開cpio或tar備份檔內的文件。解壓cpio文件cpio -idmv < filename.cpio解壓img文件cpio -idmv < filename.img備份還原備份:cpio -c

AppiumDesktop用法介紹

blank 測試框架 介紹 .com 文本 eat for 官網 rom 轉自:http://www.jianshu.com/p/bf1ca3d4ac76 寫這篇文章的心情 真的很開心,我看著官網介紹竟然對AppiumDesktop略懂皮毛了。今天特意寫出來,希望可以幫

Unity3d的Sprite Packer用法介紹

需求 需要 制作 drawcall 刪掉 packer 浪費 圖集 .com 我們用來做sprite 的圖片,通常會留有很多空白的地方,我們在畫完了sprite之後,這些地方很可能就沒有什麽作用了。如果想避免這些資源上的浪費,我們可以把各個sprite做成圖集,把圖片上的空

Java程序員們犯的10個錯誤

table 程序 編譯期 con 引用 必須 排序 left 很多 Java程序員們最常犯的10個錯誤 1.將數組轉化為一個列表時,程序員們經常這樣做:   List<String> list = Arrays.asList(arr); Arrays.a

sscanf的基礎用法(非原創)

urn clas 參數 detail tail include sca min col 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<string.h> 4 5 in

Zip4J簡單用法

初始化 array exce tao cat spa directory 檢驗 files package com.chentao.MicroMessage.bussiness; import java.io.File; import java.util.ArrayLi

Oracle安裝碰到的6個錯誤及解決方案

繼續 數據庫服務 tns 情況下 無法啟動 rac 步驟 margin 配置 Oracle安裝最常碰到的6個錯誤及解決方案 [以8.1.6為例]: 1、ORA-12541:TNS:沒有監聽器   原因:沒有啟動監聽器或者監聽器損壞。如果是前者,使用命令net star

MySQL exists 和 not exists 的用法介紹

存在 query null bool -a lean company cit lines 有一個查詢如下: 1 SELECT c.CustomerId, c.CompanyName 2 FROM Customers c 3

總結一下關於this的用法介紹

console 如果 nbsp tel person public 總結 pre log 眾所周知在語句中this經常會出現在不同的方法中: (1)在構造方法中: private double a; private double b; public Area(double

見到的runtime exception 異常

內存不足 vector ice ESS PE pen con nbsp 但是 來源;某小哥https://www.cnblogs.com/jack4738/p/6953242.html ArithmeticException, 算術異常ArrayStoreExcepti

原生ajax封裝及用法

異步 con UC end utf amp dpa read -type /* 封裝ajax函數 * @param {string}opt.type http連接的方式,包括POST和GET兩種方式 * @param {string}opt.url 發送請求的url

MyBatis-Generator 用法介紹

vacl query sys -c 參數 沒有 use 數據庫驅動 IV   ”工欲善其事,必先利其器“,古人說的很對,雖然不能做一個單純的”工具帝“,但是自己有合適的工具集真的很關鍵。以前認識一個做逆向工程的高手,有自己的”反馬套裝“,其實不外乎就是 OD 、 IDA 、

IFrame標簽的兩個用法介紹

部分 AI cookie AC 我們 -i dto com bsp 1. 作為彈出層鋪底覆蓋   大家如果做過那種黑色遮罩蓋住整張頁面,而碰巧用戶用的是IE6,更碰巧的是頁面上有select元素,那就有得頭疼了(原理就不在這裏贅述了)。我們會發現彈出的DIV沒法遮住sele

全 Docker 介紹與教程,一文全掌握

Java 架構 程序員 Docker 最全 Docker 介紹與教程,一文全掌握2013年發布至今, Docker 一直廣受矚目,被認為可能會改變軟件行業。 但是,許多人並不清楚 Docker 到底是什麽,要解決什麽問題,好處又在哪裏?本文就來詳細解釋,幫助大家理解它,還帶有簡單易懂的實例,教

HTML5 history.pushState()和history.replaceState()新增、修改歷史記錄用法介紹

body popu spa htm 動作 使用 lang scrip null 抽空研究了下這兩個新方法,確實可以解決很多問題 1、使用pushState()方法 可以控制瀏覽器自帶的返回按鈕: 有時候我們想讓用戶點擊瀏覽器返回按鈕時,不返回,或執行其他操作,這時,