ajax() 方法透過 HTTP 請求載入遠端資料。
此方法是 jQuery 底層 AJAX 實作。簡單易用的高層實作請見 $.get, $.post 等。 $.ajax() 傳回其建立的 XMLHttpRequest 物件。大多數情況下你無需直接操作該函數,除非你需要操作不常用的選項,以獲得更多的彈性。
最簡單的情況下,$.ajax() 可以不帶任何參數直接使用。
注意:所有的選項都可以透過 $.ajaxSetup() 函數來全域設定。
文法
jQuery.ajax([settings])
參數 | settings | 可選。用於設定 Ajax 請求的鍵值對集合。
可以透過$.ajaxSetup() 設定任何選項的預設值。 |
---|
jQuery.get()
使用一个HTTP GET 请求从服务器加载数据。
jQuery.get(url [,data] [,success(data,textStatus,jqXHR)] [dtaType])
url 一个包含发送请求的URL
data 发送给服务器的字符串后键值对
success() 当请求成功时回调的函数
dataType 从服务器返回的预期数据。
用法:
$.get("test.cgi", { name: "John", time: "2pm" }, function(data){ alert("Data Loaded: " + data); });
jQuery.getJSON()
使用一个HTTP GET 请求服务器加载JSON 编码的数据。
jQuery.getJSON(url [,data] [,success(data,textStatus,jqXHR)])
url 一个包含发送请求的URL
data 发送给服务器的字符串后键值对
success() 当请求成功时回调的函数
jQuery.getScript()
使用一个HTTP GET请求从服务器加载并执行一个JavaScript文件。
jQuery.getScript(url[success(script,textStatus,jqXHR)])
url 一个包含发送请求的URL
data 发送给服务器的字符串后键值对
用法:
$.getScript("ajax/test.js", function(data, textStatus, jqxhr) { console.log(data); //data returned console.log(textStatus); //success console.log(jqxhr.status); //200 console.log('Load was performed.'); });
jQuery.post([settings])
使用一个HTTP POST请求从服务器加载数据。
jQuery.post(url[,data][,success(data,textStatus,jqXHR)][,dataType])
url 一个包含发送请求的URL
data 发送给服务器的字符串后键值对
success() 当请求成功时回调的函数
用法:
$.post("test.php", { name: "John", time: "2pm" }, function(data) { alert("Data Loaded: " + data); });
.load()
从服务器载入数据并且将返回的HTML代码并插入至匹配的元素中。
.load(url[,data][,complete(responseText,textStatus,XMLHttpRequest)])
url 一个包含发送请求的URL
data 发送给服务器的字符串后键值对
complete 当请求成功时回调的函数
用法:
$('#result').load('ajax/test.html #container');
jQuery.ajax()
执行一个异步的HTTP(ajax)的请求。
参数:
url 类型: Sting 发送请求的地址(默认当前页面)
type 类型:Sting (默认为GET) 请求方式(”POST“或”GET“)
timeout 类型:Number 设置请求超时时间(毫秒),此设置默认覆盖全局。
async 类型:Boolean 默认设置(true)默认设置下所有请求均为一步请求,如果需要同步请求,设置为false。
beforeSend 类型:function 发送请求前可修改 XMLHttpRequest 对象的函数,如添加自定义 HTTP 头。XMLHttpRequest 对象是唯一的参数。
cache 类型:Boolean 默认为(true) 设置为false 将不会从浏览器缓存中加载请求信息。
complete 类型:Function 请求完成后回调函数,(请求成功或失败时均调用)参数: XMLHttpRequest 对象,成功信息字符串。function ( XMLHttpRequest, textStatus) {this; // the options for this ajax request}
contentType 类型为:String 发送信息至服务器时内容编码类型,默认值适合大多数应用场合。
data 类型:Object String 发送到服务器的数据。将自动转换为请求字符串格式,GET请求附加在URL后
dataType 类型:String 预期服务器返回的数据类型, ”xml“返回XML文档。”html“返回纯文本信息,包含script 元素。”script“返回纯文本JavaScript 代码,不会自动缓存 结果。”json“返回JSON 数组。”jsonp“JSONP格式。
error 类型:function 请求失败时将调用此方法。
global 类型:Boolean 是否触发全局AJAX事件。默认为(true) 设置为false 将不会触发全局ajax 事件,可用于控制不同的AJAX事件。
ifModified 类型:Boolean 默认为false 仅在服务器数据改变时获取新数据。
processData 类型:Boolean 默认为(true)默认情况下,发送的数据发送的数据将被转换为对象(技术上讲并非字符串) 以配合默认内容类型 "application/x-www-form- urlencoded"。如果要发送 DOM 树信息或其它不希望转换的信息,请设置为 false。
success 类型:Function 请求成功后回调函数。这个方法有两个参数:服务器返回数据,返回状态。
$(document).ready(function() { jQuery("#clearCac").click(function() { jQuery.ajax({ url: "/Handle/Do.aspx", type: "post", data: { id: '0' }, dataType: "json", success: function(msg) { alert(msg); }, error: function(XMLHttpRequest, textStatus, errorThrown) { alert(XMLHttpRequest.status); alert(XMLHttpRequest.readyState); alert(textStatus); }, complete: function(XMLHttpRequest, textStatus) { this; // 调用本次AJAX请求时传递的options参数 } }); }); });
error事件回傳的第一個參數XMLHttpRequest有一些有用的資訊:
XMLHttpRequest.readyState:
狀態碼
0 - (未初始化)還沒有呼叫send()方法
1 - (載入)已呼叫send()方法,正在傳送請求
2 - (載入完成)send()方法執行完成,已經接收到全部回應內容
3 - (互動)正在解析回應內容
4 - (完成)回應內容解析完成,可以在客戶端呼叫了
XMLHttpRequest.status:
1xx-訊息提示
這些狀態代碼表示臨時的回應。客戶端在收到常規回應之前,應準備接收一個或多個1xx回應。
100-繼續。
101-切換協定。
2xx-成功
這類狀態代碼表示伺服器成功地接受了客戶端請求。
200-確定。客戶端請求已成功。
201-已建立。
202-已接受。
203-非權威性資訊。
204-無內容。
205-重置內容。
206-部分內容。
3xx-重定向
客戶端瀏覽器必須採取更多操作來實現請求。例如,瀏覽器可能必須請求伺服器上的不同的頁面,或透過代理伺服器重複該請求。
301-物件已永久移走,即永久重定向。
302-對像已臨時移動。
304-未修改。
307-暫時重定向。
4xx-客戶端錯誤
發生錯誤,客戶端似乎有問題。例如,客戶端請求不存在的頁面,客戶端未提供有效的身份驗證資訊。 400-錯誤的請求。
401-訪問被拒絕。 IIS定義了許多不同的401錯誤,它們指明更具體的錯誤原因。這些具體的錯誤代碼在瀏覽器中顯示,但不在IIS日誌中顯示:
401.1-登入失敗。
401.2-伺服器配置導致登入失敗。
401.3-由於ACL對資源的限製而未獲得授權。
401.4-篩選器授權失敗。
401.5-ISAPI/CGI應用程式授權失敗。
401.7–存取被Web伺服器上的URL授權策略拒絕。這個錯誤代碼為IIS6.0所專用。
403-禁止存取:IIS定義了許多不同的403錯誤,它們指明更具體的錯誤原因:
403.1-執行訪問被禁止。
403.2-讀取訪問被禁止。
403.3-寫入訪問被禁止。
403.4-要求SSL。
403.5-要求SSL128。
403.6-IP位址被拒絕。
403.7-要求客戶端證書。
403.8-站點訪問被拒絕。
403.9-用戶數過多。
403.10-配置無效。
403.11-密碼更改。
403.12-拒絕存取映射表。
403.13-客戶端憑證被吊銷。
403.14-拒絕目錄列表。
403.15-超出客戶端存取許可。
403.16-客戶端憑證不受信任或無效。
403.17-客戶端憑證已過期或尚未生效。
403.18-在目前的應用程式集區中不能執行所請求的URL。這個錯誤代碼為IIS6.0所專用。
403.19-不能為這個應用程式集區中的客戶端執行CGI。這個錯誤代碼為IIS6.0所專用。
403.20-Passport登入失敗。這個錯誤代碼為IIS6.0所專用。
404-未找到。
404.0-(無)–沒有找到檔案或目錄。
404.1-無法在所要求的連接埠上存取Web站點。
404.2-Web服務擴充鎖定策略阻止本請求。
404.3-MIME映射策略阻止本請求。
405-用來存取本頁面的HTTP謂詞不被允許(方法不被允許)
406-客戶端瀏覽器不接受所要求頁面的MIME類型。
407-要求進行代理身份驗證。
412-前提條件失敗。
413–請求實體太大。
414-請求URI太長。
415–不支援的媒體類型。
416–所請求的範圍無法滿足。
417–執行失敗。
423–鎖定的誤差。
5xx-伺服器錯誤
伺服器由於遇到錯誤而無法完成該請求。
500-內部伺服器錯誤。
500.12-應用程式正忙於在Web伺服器上重新啟動。
500.13-Web伺服器太忙。
500.15-不允許直接請求Global.asa。
500.16–UNC授權憑證不正確。這個錯誤代碼為IIS6.0所專用。
500.18–URL授權儲存不能開啟。這個錯誤代碼為IIS6.0所專用。
500.100-內部ASP錯誤。
501-頁眉值指定了未實現的配置。
502-Web伺服器用作網關或代理伺服器時收到了無效回應。
502.1-CGI應用程式超時。
502.2-CGI應用程式出錯。 application.
503-服務不可用。這個錯誤代碼為IIS6.0所專用。
504-網關逾時。
505-HTTP版本不受支援。
jQuery.param()
建立一個數組,一個普通的對象,或一個jQuery對象的序列化表現形似,用於URL查詢字串或Ajax請求。
jQuery.param(obj)
obj 一個用來序列化的一個數組,一個普通的對象,或一個jQuery對象。
jQuery.param( obj, traditional )
obj 一個用來序列化的一個數組,一個普通的對象,或一個jQuery對象。
traditional
一個布林值,指示是否執行了傳統的“shallow”的序列化。
$.param({ a: [2,3,4] }) // "a[]=2&a[]=3&a[]=4"
$.param({ a: { b:1,c:2 }, d: [3,4,{ e:5 }] }) // "a[b]=1&a[c]=2&d[]=3&d []=4&d[2][e]=5"

JavaScript字符串替換方法詳解及常見問題解答 本文將探討兩種在JavaScript中替換字符串字符的方法:在JavaScript代碼內部替換和在網頁HTML內部替換。 在JavaScript代碼內部替換字符串 最直接的方法是使用replace()方法: str = str.replace("find","replace"); 該方法僅替換第一個匹配項。要替換所有匹配項,需使用正則表達式並添加全局標誌g: str = str.replace(/fi

本教程向您展示瞭如何將自定義的Google搜索API集成到您的博客或網站中,提供了比標準WordPress主題搜索功能更精緻的搜索體驗。 令人驚訝的是簡單!您將能夠將搜索限制為Y

因此,在這裡,您準備好了解所有稱為Ajax的東西。但是,到底是什麼? AJAX一詞是指用於創建動態,交互式Web內容的一系列寬鬆的技術。 Ajax一詞,最初由Jesse J創造

本文系列在2017年中期進行了最新信息和新示例。 在此JSON示例中,我們將研究如何使用JSON格式將簡單值存儲在文件中。 使用鍵值對符號,我們可以存儲任何類型的

利用輕鬆的網頁佈局:8 ESTISSEL插件jQuery大大簡化了網頁佈局。 本文重點介紹了簡化該過程的八個功能強大的JQuery插件,對於手動網站創建特別有用

核心要點 JavaScript 中的 this 通常指代“擁有”該方法的對象,但具體取決於函數的調用方式。 沒有當前對象時,this 指代全局對象。在 Web 瀏覽器中,它由 window 表示。 調用函數時,this 保持全局對象;但調用對象構造函數或其任何方法時,this 指代對象的實例。 可以使用 call()、apply() 和 bind() 等方法更改 this 的上下文。這些方法使用給定的 this 值和參數調用函數。 JavaScript 是一門優秀的編程語言。幾年前,這句話可

jQuery是一個很棒的JavaScript框架。但是,與任何圖書館一樣,有時有必要在引擎蓋下發現發生了什麼。也許是因為您正在追踪一個錯誤,或者只是對jQuery如何實現特定UI感到好奇

該帖子編寫了有用的作弊表,參考指南,快速食譜以及用於Android,BlackBerry和iPhone應用程序開發的代碼片段。 沒有開發人員應該沒有他們! 觸摸手勢參考指南(PDF)是Desig的寶貴資源


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver CS6
視覺化網頁開發工具

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

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境