首頁 web前端 js教程 jQuery Ajax(load,post,get,ajax)的用法詳解

jQuery Ajax(load,post,get,ajax)的用法詳解

Jan 23, 2018 pm 05:11 PM
ajax jquery post

本文主要為大家帶來一篇詳談jQuery Ajax(load,post,get,ajax)的用法。小編覺得蠻不錯的,現在就分享給大家,也給大家做個參考。一起跟著小編過來看看吧,希望能幫助大家。

今天看到群組裡面有網友問到Jquery Ajax的(load,post,get,ajax)之間的區別,現在整理了一篇文章出來,希望可以幫到網友們,首先我們先來看一些簡單的方法,

這些方法都是對jQuery.ajax()進行封裝以方便我們使用的方法,當然,如果要處理複雜的邏輯,還是需要用到jQuery .ajax()的(這個後面會說到).

1、 load( url, [data], [callback] ) :載入遠端HTML 檔案程式碼並插入至DOM 中。

url (String): 請求的HTML頁的URL位址。

data (Map) : (可選參數) 傳送至伺服器的 key/value 資料。

callback (Callback) : (可選參數) 請求完成時(不需要是success的)的回呼函數。

這個方法預設使用 GET 方式來傳遞的,如果[data]參數有傳遞資料進去,就會自動轉換為POST方式的。 jQuery 1.2 中,可以指定選擇符,

來篩選載入的 HTML 文件,DOM 中將只插入篩選出的 HTML 程式碼。語法形如 "url #some > selector"。

這個方法可以很方便的動態載入一些HTML文件,例如表單。

範例程式碼:

$(".ajax.load").load("http:
//www.jb51.net",function (responseText, textStatus, XMLHttpRequest)
{this;//在这里this指向的是当前的DOM对象,
即$(".ajax.load")[0]
 //alert(responseText);
//请求返回的内容
/alert(textStatus);
//请求状态:success,error
//alert(XMLHttpRequest);
//XMLHttpRequest对象});
登入後複製

註:不知道為什麼URL寫絕對路徑在FF下會出錯,知道的麻煩告訴下。下面的get()和post()範例使用的是絕對路徑,所以在FF下你將會出錯並不會看到回傳結果。還有get()和post()範例都是跨域呼叫的,發現傳上來後沒辦法取得結果,所以把運行按鈕去掉了。

2、 jQuery.get( url, [data], [callback] ):使用GET方式來進行非同步請求

參數:

##url (String): 發送請求的URL位址.

data (Map):(可選) 要傳送給伺服器的數據,以Key/value 的鍵值對形式表示,會做為QueryString附加到請求URL中。

callback (Function): (可選) 載入成功時回呼函數(只有當Response的回傳狀態是success才是呼叫該方法)。

這是一個簡單的 GET 請求功能以取代複雜 $.ajax 。請求成功時可呼叫回調函數。如果需要在出錯時執行函數,請使用 $.ajax。

範例程式碼:

$.get("./Ajax.aspx", {Action:"get",Name:"lulu"},
function (data, textStatus)
{//返回的 data 可以是 xmlDoc, jsonObj, html, text, 等等.this; 
// 在这里this指向的是Ajax请求的选项配置信息,请参考下图alert(data);
//alert(textStatus);
//请求状态:success,error等等。
登入後複製

當然這裡捕捉不到error,因為error的時候根本不會執行該回呼函數//alert(this);});

點選傳送請求:

jQuery.get()回呼函數裡面的this ,指向的是Ajax請求的選項設定資訊:

3、 jQuery.post( url, [data], [ callback], [type] ) :使用POST方式來進行非同步請求

參數:

url (String) : 發送請求的URL位址.

##data (Map) : (可選) 要傳送給伺服器的數據,以Key/value 的鍵值對形式表示。

callback (Function): (可選) 載入成功時回呼函數(只有當Response的回傳狀態是success才是呼叫該方法)。

type (String) : (可選)官方的說明是:Type of data to be sent。其實應該為客戶端請求的類型(JSON,XML,等等)

這是一個簡單的 POST 請求功能以取代複雜 $.ajax 。請求成功時可呼叫回調函數。如果需要在出錯時執行函數,請使用 $.ajax。

範例程式碼:

Ajax.aspx:

Response.ContentType = "application/json";Response.Write("{result: '" + Request["Name"] + ",你好!(这消息来自服务器)'}");
登入後複製

jQuery 程式碼:

$.post("Ajax.aspx", { Action: "post", Name: "lulu" },function (data, textStatus)
{// data 可以是 xmlDoc, jsonObj, html, text, 等等.//this; 
// 这个Ajax请求的选项配置信息,请参考jQuery.get()说到的thisalert(data.result);}, "json");
登入後複製

點擊提交:

這裡設定了請求的格式為"json":

如果你設定了請求的格式為"json",此時你沒有設定Response回來的ContentType 為:Response.ContentType = "application/json"; 那麼你將無法捕捉到返回的數據。

注意一下,alert(data.result); 由於設定了Accept標頭為“json”,這裡回傳的data就是一個對象,並不需要用eval()來轉換為物件。

4、 jQuery.getScript( url, [callback] ) : 透過 GET 方式請求載入並執行一個 JavaScript 檔案。

參數


url (String) : 待載入 JS 檔案位址。

callback (Function) : (可選) 成功載入後回呼函數。

jQuery 1.2 版本之前,getScript 只能呼叫同域 JS 檔案。 1.2中,您可以跨域呼叫 JavaScript 檔案。注意:Safari 2 或更早的版本不能在全域作用域中同步執行腳本。如果透過 getScript 加入腳本,請加入延時函數。

這個方法可以用在例如當只有編輯器focus()的時候才去載入編輯器需要的JS檔.下面看一些範例程式碼:

載入並執行 test.js。

jQuery 程式碼:

$.getScript("test.js");

載入並執行 AjaxEvent.js ,成功後顯示資訊。

jQuery 程式碼:

$.getScript("AjaxEvent.js", function(){alert("AjaxEvent.js 載入完成並執行完成.你再點擊上面的Get或Post按鈕看看有什麼不同?

Ajax請求會產生若干不同的事件,我們可以訂閱這些事件並在其中處理我們的邏輯。在jQuery這裡有兩種Ajax事件:局部事件 和 全域事件。

局部事件就是在每次的Ajax請求時在方法內定義的,例如:

$.ajax({beforeSend: function(){// Handle the beforeSend event},complete : function(){// Handle the complete event}// ...});

#全域事件是每次的Ajax請求都會觸發的,它會向DOM中的所有元素廣播,在上面getScript() 範例中載入的腳本就是全域Ajax事件。全域事件可以如下定義:

$("#loading").bind("ajaxSend", function(){$(this).show();}).bind("ajaxComplete", function( ){$(this).hide();});

或:

$("#loading").ajaxStart(function(){$(this).show() ;});

我們可以在特定的請求將全域事件停用,只要設定下global 選項就可以了:

$.ajax({url: "test.html",global : false,// 停用全域Ajax事件.// ...});

以上這篇詳談jQuery Ajax(load,post,get,ajax)的用法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關推薦:

Ajax用法簡單教學

#javascript jQuery $.post $.ajax用法

超簡單的jquery的AJAX用法_jquery

以上是jQuery Ajax(load,post,get,ajax)的用法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

jQuery中如何使用PUT請求方式? jQuery中如何使用PUT請求方式? Feb 28, 2024 pm 03:12 PM

jQuery中如何使用PUT請求方式?在jQuery中,發送PUT請求的方法與發送其他類型的請求類似,但需要注意一些細節和參數設定。 PUT請求通常用於更新資源,例如更新資料庫中的資料或更新伺服器上的檔案。以下是在jQuery中使用PUT請求方式的具體程式碼範例。首先,確保引入了jQuery庫文件,然後可以透過以下方式發送PUT請求:$.ajax({u

如何使用Ajax從PHP方法取得變數? 如何使用Ajax從PHP方法取得變數? Mar 09, 2024 pm 05:36 PM

使用Ajax從PHP方法取得變數是Web開發中常見的場景,透過Ajax可以實作頁面無需刷新即可動態取得資料。在本文中,將介紹如何使用Ajax從PHP方法中取得變量,並提供具體的程式碼範例。首先,我們需要寫一個PHP檔案來處理Ajax請求,並傳回所需的變數。下面是一個簡單的PHP檔案getData.php的範例程式碼:

jQuery小技巧:快速修改頁面所有a標籤的文本 jQuery小技巧:快速修改頁面所有a標籤的文本 Feb 28, 2024 pm 09:06 PM

標題:jQuery小技巧:快速修改頁面所有a標籤的文字在網頁開發中,我們經常需要對頁面中的元素進行修改和操作。使用jQuery時,有時候需要一次修改頁面中所有a標籤的文字內容,這樣可以節省時間和精力。以下將介紹如何使用jQuery快速修改頁面所有a標籤的文本,同時給出具體的程式碼範例。首先,我們需要引入jQuery庫文件,確保在頁面中引入了以下程式碼:&lt

PHP 與 Ajax:建立一個自動完成建議引擎 PHP 與 Ajax:建立一個自動完成建議引擎 Jun 02, 2024 pm 08:39 PM

使用PHP和Ajax建置自動完成建議引擎:伺服器端腳本:處理Ajax請求並傳回建議(autocomplete.php)。客戶端腳本:發送Ajax請求並顯示建議(autocomplete.js)。實戰案例:在HTML頁面中包含腳本並指定search-input元素識別碼。

使用jQuery修改所有a標籤的文字內容 使用jQuery修改所有a標籤的文字內容 Feb 28, 2024 pm 05:42 PM

標題:使用jQuery修改所有a標籤的文字內容jQuery是一款受歡迎的JavaScript庫,被廣泛用於處理DOM操作。在網頁開發中,經常會遇到需要修改頁面上連結標籤(a標籤)的文字內容的需求。本文將介紹如何使用jQuery來實現這個目標,並提供具體的程式碼範例。首先,我們需要在頁面中引入jQuery庫。在HTML檔案中加入以下程式碼:

PHP 與 Ajax:建立動態載入內容的解決方案 PHP 與 Ajax:建立動態載入內容的解決方案 Jun 06, 2024 pm 01:12 PM

Ajax(非同步JavaScript和XML)允許在不重新載入頁面情況下新增動態內容。使用PHP和Ajax,您可以動態載入產品清單:HTML建立一個帶有容器元素的頁面,Ajax請求載入資料後將資料加入到該元素中。 JavaScript使用Ajax透過XMLHttpRequest向伺服器傳送請求,從伺服器取得JSON格式的產品資料。 PHP使用MySQL從資料庫查詢產品數據,並將其編碼為JSON格式。 JavaScript解析JSON數據,並將其顯示在頁面容器中。點選按鈕觸發Ajax請求,載入產品清單。

PHP程式碼範例:如何用POST方式傳參並實現頁面跳轉 PHP程式碼範例:如何用POST方式傳參並實現頁面跳轉 Mar 07, 2024 pm 01:45 PM

標題:PHP程式碼範例:使用POST方式傳參並實現頁面跳轉的方法在Web開發中,經常涉及如何透過POST方式傳遞參數,並在伺服器端進行處理後實現頁面跳轉的需求。 PHP作為一種流行的伺服器端腳本語言,提供了豐富的函數和語法來實現這一目的。以下將透過一個實際的範例來介紹如何使用PHP來實現這項功能。首先,我們需要準備兩個頁面,一個用來接收POST請求並處理參數

PHP跳轉頁面並攜帶POST資料的實作方法 PHP跳轉頁面並攜帶POST資料的實作方法 Mar 22, 2024 am 10:42 AM

PHP是一種廣泛應用於網站開發的程式語言,而頁面跳躍並攜帶POST資料是在網站開發中常見的需求。本文將介紹如何實現PHP頁面跳轉並攜帶POST數據,包括具體的程式碼範例。在PHP中,頁面跳躍一般透過header函數實現。如果需要在跳轉過程中攜帶POST數據,可以透過以下步驟完成:首先,建立一個包含表單的頁面,使用者在該頁面填寫資訊並點擊提交按鈕。在表單的acti

See all articles