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

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

Jan 23, 2018 pm 05:11 PM
ajaxjquerypost

本文主要為大家帶來一篇詳談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
Python和JavaScript的未來:趨勢和預測Python和JavaScript的未來:趨勢和預測Apr 27, 2025 am 12:21 AM

Python和JavaScript的未來趨勢包括:1.Python將鞏固在科學計算和AI領域的地位,2.JavaScript將推動Web技術發展,3.跨平台開發將成為熱門,4.性能優化將是重點。兩者都將繼續在各自領域擴展應用場景,並在性能上有更多突破。

Python vs. JavaScript:開發環境和工具Python vs. JavaScript:開發環境和工具Apr 26, 2025 am 12:09 AM

Python和JavaScript在開發環境上的選擇都很重要。 1)Python的開發環境包括PyCharm、JupyterNotebook和Anaconda,適合數據科學和快速原型開發。 2)JavaScript的開發環境包括Node.js、VSCode和Webpack,適用於前端和後端開發。根據項目需求選擇合適的工具可以提高開發效率和項目成功率。

JavaScript是用C編寫的嗎?檢查證據JavaScript是用C編寫的嗎?檢查證據Apr 25, 2025 am 12:15 AM

是的,JavaScript的引擎核心是用C語言編寫的。 1)C語言提供了高效性能和底層控制,適合JavaScript引擎的開發。 2)以V8引擎為例,其核心用C 編寫,結合了C的效率和麵向對象特性。 3)JavaScript引擎的工作原理包括解析、編譯和執行,C語言在這些過程中發揮關鍵作用。

JavaScript的角色:使網絡交互和動態JavaScript的角色:使網絡交互和動態Apr 24, 2025 am 12:12 AM

JavaScript是現代網站的核心,因為它增強了網頁的交互性和動態性。 1)它允許在不刷新頁面的情況下改變內容,2)通過DOMAPI操作網頁,3)支持複雜的交互效果如動畫和拖放,4)優化性能和最佳實踐提高用戶體驗。

C和JavaScript:連接解釋C和JavaScript:連接解釋Apr 23, 2025 am 12:07 AM

C 和JavaScript通過WebAssembly實現互操作性。 1)C 代碼編譯成WebAssembly模塊,引入到JavaScript環境中,增強計算能力。 2)在遊戲開發中,C 處理物理引擎和圖形渲染,JavaScript負責遊戲邏輯和用戶界面。

從網站到應用程序:JavaScript的不同應用從網站到應用程序:JavaScript的不同應用Apr 22, 2025 am 12:02 AM

JavaScript在網站、移動應用、桌面應用和服務器端編程中均有廣泛應用。 1)在網站開發中,JavaScript與HTML、CSS一起操作DOM,實現動態效果,並支持如jQuery、React等框架。 2)通過ReactNative和Ionic,JavaScript用於開發跨平台移動應用。 3)Electron框架使JavaScript能構建桌面應用。 4)Node.js讓JavaScript在服務器端運行,支持高並發請求。

Python vs. JavaScript:比較用例和應用程序Python vs. JavaScript:比較用例和應用程序Apr 21, 2025 am 12:01 AM

Python更適合數據科學和自動化,JavaScript更適合前端和全棧開發。 1.Python在數據科學和機器學習中表現出色,使用NumPy、Pandas等庫進行數據處理和建模。 2.Python在自動化和腳本編寫方面簡潔高效。 3.JavaScript在前端開發中不可或缺,用於構建動態網頁和單頁面應用。 4.JavaScript通過Node.js在後端開發中發揮作用,支持全棧開發。

C/C在JavaScript口譯員和編譯器中的作用C/C在JavaScript口譯員和編譯器中的作用Apr 20, 2025 am 12:01 AM

C和C 在JavaScript引擎中扮演了至关重要的角色,主要用于实现解释器和JIT编译器。1)C 用于解析JavaScript源码并生成抽象语法树。2)C 负责生成和执行字节码。3)C 实现JIT编译器,在运行时优化和编译热点代码,显著提高JavaScript的执行效率。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

記事本++7.3.1

記事本++7.3.1

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

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),