一、简介
jQuery AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术,通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新,这意味着可以在不影响网页正常加载的情况下,与服务器交换数据并更新部分网页内容。
二、基本用法
1、引入 jQuery 库
在使用 jQuery AJAX 之前,需要先引入 jQuery 库,可以通过以下方式引入:
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
2、发送 AJAX 请求
使用 jQuery 的 $.ajax()
方法可以发送 AJAX 请求,该方法的基本语法如下:
$.ajax({ url: "请求的 URL", type: "请求类型(GET/POST)", data: "发送的数据", dataType: "预期服务器返回的数据类型", success: function(response) { // 请求成功时的回调函数 }, error: function(xhr, status, error) { // 请求失败时的回调函数 } });
3、GET 请求示例
以下是一个简单的 GET 请求示例:
$.ajax({ url: "https://api.example.com/data", type: "GET", dataType: "json", success: function(data) { console.log("请求成功,返回的数据为:", data); }, error: function(xhr, status, error) { console.log("请求失败,错误信息为:", error); } });
4、POST 请求示例
以下是一个简单的 POST 请求示例:
$.ajax({ url: "https://api.example.com/data", type: "POST", data: { key1: "value1", key2: "value2" }, dataType: "json", success: function(data) { console.log("请求成功,返回的数据为:", data); }, error: function(xhr, status, error) { console.log("请求失败,错误信息为:", error); } });
三、常用参数详解
1、url(必需)
请求的 URL,""
。
2、type(必需)
请求类型,可以是 "GET"、"POST" 等,默认值为 "GET","POST"
。
3、data(可选)
发送到服务器的数据,如果是 GET 请求,将被附加到 URL 中,如果是其他类型的请求,将被发送到服务器,{ key1: "value1", key2: "value2" }
,如果需要发送 JSON 数据,需要设置 contentType
为 "application/json"
,并将数据转换为 JSON 字符串,JSON.stringify({ key1: "value1", key2: "value2" })
。
4、dataType(可选)
预期服务器返回的数据类型,"json"
、"xml"
、"html"
、"text"
,默认值为 "xml"
,如果服务器返回的不是预期的数据类型,可能会影响回调函数的执行,建议根据实际情况设置该参数,"json"
。
5、beforeSend(可选)
在发送请求之前调用的函数,该函数接收一个参数 xhr
,表示即将被创建的 XMLHttpRequest 对象,beforeSend: function(xhr) { xhr.setRequestHeader("Authorization", "Bearer " + token); }
,如果返回 false
,则取消本次 AJAX 请求,beforeSend: function() { return false; } //取消本次请求
,默认值为 null
,beforeSend: null
。
6、complete(可选)
无论请求成功或失败,都会调用的函数,该函数接收一个参数 jqXHR
,表示已完成的 AJAX 请求,complete: function(jqXHR, textStatus) { console.log("请求完成,状态为:" + textStatus); }
,默认值为 null
,complete: null
,如果在 success
、error
、beforeSend
、complete
、done
、fail
、always
、then
、catch
、finally
、pipe
、progress
、promise
、doneWithOptions
、doneWithResponse
、doneWithBody
、doneWithErrors
、doneWithCallbacks
、doneWithStates
、doneWithStatusCodes
、doneWithHeaders
, doneWithBody
, doneWithRedirects
, doneWithTimeout
, doneWithCachedResults
, doneWithLocalStorage
, doneWithSessionStorage
, doneWithCookies
, doneWithFileUploads
, doneWithFormData
, doneWithMultiPartData
, doneWithProgressEvents
, doneWithResponseText
, doneWithResponseXML
, doneWithResponseJSON
, doneWithResponseHTML
, doneWithResponseObject
, doneWithResponseArrayBuffer
, doneWithResponseBlob
, doneWithResponseStream
, doneWithResponseTextStatus
, doneWithResponseTextStatusText
, doneWithResponseXMLHttpRequest
, doneWithResponseXMLHttpRequestStatus
, doneWithResponseXMLHttpRequestReadyState
, doneWithResponseXMLHttpRequestResponseText
, doneWithResponseXMLHttpRequestResponseXML
, doneWithResponseXMLHttpRequestResponseJSON
, doneWithResponseXMLHttpRequestResponseHTML
, doneWithResponseXMLHttpRequestResponseObject
, doneWithResponseXMLHttpRequestResponseArrayBuffer
, doneWithResponseXMLHttpRequestResponseBlob
, doneWithResponseXMLHttpRequestResponseStream
, doneWithResponseXMLHttpRequestProgressEvents
, doneWithResponseXMLHttpRequestUploadProgressEvents
, doneWithResponseXMLHttpRequestDownloadProgressEvents
, doneWithResponseXMLHttpRequestRedirects
, doneWithResponseXMLHttpRequestTimeout
, doneWithResponseXMLHttpRequestCachedResults
, doneWithResponseXMLHttpRequestLocalStorage
, doneWithResponseXMLHttpRequestSessionStorage
, doneWithResponseXMLHttpRequestCookies
, doneWithResponseXMLHttpRequestFileUploads
, doneWithResponseXMLHttpRequestFormData
, doneWithResponseXMLHttpRequestMultiPartData
, doneWithProgressEvents
, doneWithUploadProgressEvents
, doneWithDownloadProgressEvents
, doneAfterSuccess
, doneAfterError
, doneAfterComplete
, doneAfterFail
, doneAfterAlways
,
还没有评论,来说两句吧...