ajax函數是什麼
ajax函數是指jQuery.ajax()函數,該函數用於透過後台HTTP請求載入遠端數據,是jQuery封裝的AJAX技術實現,透過該函數,我們無需刷新當前頁面即可獲取遠端伺服器上的數據。
本文操作環境:Windows7系統,jquery3.2.1版,Dell G3電腦。
ajax函數是什麼?
jQuery.ajax() 函數詳解
#jQuery.ajax()
函數用於透過後台HTTP請求加載遠程資料。
jQuery.ajax()
函數是jQuery封裝的AJAX技術實現,透過該函數,我們無需刷新當前頁面即可獲取遠端伺服器上的資料。
jQuery.ajax()
函數是jQuery的底層AJAX實作。 jQuery.get()、 jQuery.post()、load()、 jQuery.getJSON()、 jQuery.getScript()等函數都是此函數的簡化形式(都會呼叫函數,只是參數設定有所不同或有所省略)。
此函數屬於全域jQuery
物件(也可理解為靜態函數)。
參數
請根據前面語法部分所定義的參數名稱尋找對應的參數。
參數 | 描述 |
---|---|
#url | String類型URL請求字串。 |
settings | 可選/Object類型一個Object對象,其中的每個屬性用來指定發送請求所需的額外參數設定。 |
參數settings
是一個對象,jQuery.ajax()
可以辨識該物件的以下屬性(它們都是可選的):
accepts --- #Object類型
## 預設值:取決於dataType屬性。
async --- #Boolean類型##預設值:
true。 指示是否為非同步請求。同步請求將鎖定瀏覽器,直到取得遠端資料後才能執行其他操作。
beforeSend---#Function類型##指定在請求傳送前需要執行的回調函數。此函數還有兩個參數:其一是jqXHR
對象,其二是目前settings對象。這是一個
Ajax事件,如果函數傳回false
,將取消本次ajax請求。
---Boolean類型##預設值:true(
dataType為'script'或'jsonp'時,則預設為false
)。 指示是否要快取URL請求。如果設為
false
將強制瀏覽器
目前URL請求。此參數只對HEAD、GET請求有效(POST請求本身就不會快取)。 complete
Function/Array類型指定請求完成(無論成功或失敗)後需要執行的回呼函數。函數還有兩個參數:一個是
jqXHR對象,一個是表示請求狀態的字串('success'、 'notmodified'、 'error'、 'timeout'、 'abort'或'parsererror ')。這是一個Ajax事件。 從jQuery 1.5開始,該屬性值可以是陣列形式的多個函數,每個函數都會被回調執行。
contents
---Object類型1.5 新增# #一個以"{字串:正規表示式}"配對的對象,用來確定jQuery將如何解析回應,給定其內容類型。
contentType---
String類型預設值:'application/x- www-form-urlencoded; charset=UTF-8'。 使用指定的內容編碼類型將資料傳送給伺服器。 W3C的XMLHttpRequest規格規定charset總是UTF-8,你如果將其改為其他字元集,也無法強制瀏覽器更改字元編碼。
context---
Object類型用於設定Ajax相關回呼函數的上下文物件(也就是函數內的this指標)。
converters
---
Object類型1.5 新增預設值:{'* text': window.String, 'text html': true, 'text json': jQuery.parseJSON, 'text xml': jQuery.parseXML}
#。一個資料型別轉換器。每個轉換器的值都是一個<span id="9_nwp">函數,用來傳回回應轉換後的值。 </span>
crossDomain---
#Boolean類型1.5 新增預設值:同域請求為false,跨域請求為true
。指示是否為跨域請求。如果你想在同一網域中強制跨域請求(如JSONP形式),請設定為true。例如,這允許
伺服器端重定向到另一個網域。
data---任何類型
#傳送到伺服器的數據,它將自動轉為字串類型。如果是GET請求,它將被附加到URL後面。
dataFilter---Function類型
指定處理回應的原始資料的回調函數。此函數還有兩個參數:其一表示回應的原始資料的字串,其二是<span id="8_nwp">dataType</span>
#屬性字串。
dataType---String類型
預設值:jQuery智慧猜測,猜測範圍(xml、 json、 script或html)
指定傳回的資料類型。此屬性值可以為:
- 'xml' :傳回XML文檔,可使用jQuery處理。
- 'html': 傳回HTML字串。
- 'script': 傳回JavaScript程式碼。不會自動快取結果。除非設定了
cache
參數。注意:在遠端請求時(不在同一個網域下),所有POST請求都會轉為GET請求。 (因為將使用DOM的script標籤來載入) - 'json': 傳回JSON資料。 JSON資料將使用嚴格的語法進行解析(屬性名必須加雙引號,所有字串也必須用雙引號),如果解析失敗將拋出一個錯誤。從jQuery 1.9開始,空內容的回應將會傳回
null
或{}
。 - 'jsonp': JSONP格式。使用JSONP形式呼叫函數時,如"url?callback=?",jQuery將自動替換第二個?為正確的函數名,以執行回呼函數。
- 'text': 傳回純文字字串。
error---#Function/Array類型
指定請求失敗時執行的回呼函數。此函數有3個參數:jqXHR物件、 請求狀態字串(null、 'timeout'、 'error'、 'abort'和'parsererror')、錯誤訊息字串(回應狀態的文字描述部分,例如'Not Found '或'Internal Server Error')。這是一個Ajax事件。跨域腳本和跨域JSONP請求不會呼叫函數。
從jQuery 1.5開始,該屬性值可以是陣列形式的多個函數,每個函數都會被回調執行。
global---#Boolean類型
##預設值:true。
false將阻止全域事件處理函數被觸發,例如ajaxStart()和ajaxStop()。它可以用來控制各種Ajax事件。
headers---Object類型1.5 新增# #預設值:
{}. 以物件形式指定附加的請求標頭資訊。請求頭
將始終被添加,當然你也可以在此處修改預設的XMLHttpRequest值。 headers
中的值可以覆寫beforeSend
回呼函數中設定的請求頭(意即beforeSend先被呼叫)。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">$.ajax({
url: "my.php" ,
headers: { "Referer": "http://www.365mini.com" // 有些浏览器不允许修改该请求头
,"User-Agent": "newLine" // 有些浏览器不允许修改该请求头
,"X-Power": "newLine"
,"Accept-Language": "en-US"
}
});</pre><div class="contentsignin">登入後複製</div></div>
ifModified---#Boolean類型##預設值:false
。允許目前請求僅在伺服器資料改變時取得新資料(如未更改,瀏覽器從快取中取得資料)。它使用HTTP頭資訊
Last-Modified
---Boolean類型1.5.1 新增 預設值:取決於目前的位置協定。
允许将当前环境视作"本地",(例如文件系统),即使默认情况下jQuery不会如此识别它。目前,以下协议将被视作本地:file
、*-extension
和widget
。
jsonp---String类型
重写JSONP请求的回调函数名称。该值用于替代"url?callback=?"中的"callback"部分。
jsonpCallback---String/Function类型
为JSONP请求指定一个回调函数名。这个值将用来取代jQuery自动生成的随机函数名。
从jQuery 1.5开始,你也可以指定一个函数来返回所需的函数名称。
mimeType---String类型1.5.1 新增
一个mime类型用来覆盖XHR的mime类型。
password---String类型
用于响应HTTP访问认证请求的密码。
processData---Boolean类型
默认值:true
。
默认情况下,通过<span id="4_nwp">data</span>
属性传递进来的数据,如果是一个对象(技术上讲,只要不是字符串),都会处理转化成一个查询字符串,以配合默认内容类型 "application/x-www-form-urlencoded"。如果要发送 DOM树信息或其它不希望转换的信息,请设置为false
。
scriptCharset---String类型
设置该请求加载的脚本文件的字符集。只有当请求时dataType为"jsonp"或"script",并且type是"GET"才会用于强制修改charset。这相当于设置

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

熱門話題

本文討論了React中的使用效應,這是一種用於管理副作用的鉤子,例如數據獲取和功能組件中的DOM操縱。它解釋了用法,常見的副作用和清理,以防止記憶洩漏等問題。

本文解釋了React的對帳算法,該算法通過比較虛擬DOM樹有效地更新DOM。它討論了性能優勢,優化技術以及對用戶體驗的影響。

JavaScript中的高階功能通過抽象,常見模式和優化技術增強代碼簡潔性,可重複性,模塊化和性能。

本文討論了JavaScript中的咖哩,這是一種將多重題材函數轉換為單詞彙函數序列的技術。它探討了咖哩的實施,諸如部分應用和實際用途之類的好處,增強代碼閱讀

本文解釋了React中的UseContext,該文章通過避免道具鑽探簡化了狀態管理。它討論了通過減少的重新租賃者進行集中國家和績效改善之類的好處。

文章討論了使用Connect()將React組件連接到Redux Store,解釋了MapStateToprops,MapDispatchToprops和性能影響。

文章討論了使用DestrestDefault()方法在事件處理程序中預防默認行為,其好處(例如增強的用戶體驗)以及諸如可訪問性問題之類的潛在問題。

本文討論了React中受控和不受控制的組件的優勢和缺點,重點是可預測性,性能和用例等方面。它建議在選擇之間選擇因素。
