一、简介
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,



还没有评论,来说两句吧...