更新時間:2022-03-14 10:22:37 來源:動力節(jié)點 瀏覽1120次
同步Ajax請求是在收到響應(yīng)之前停止執(zhí)行請求的過程,而異步Ajax請求意味著腳本繼續(xù)該過程而不等待服務(wù)器回復(fù)。如果它到達,它將處理回復(fù)。
Ajax的原理很簡單,向服務(wù)器對象發(fā)送一個異步請求就是從服務(wù)器獲取數(shù)據(jù),然后使用javascript來操作DOM并更新頁面。這是最關(guān)鍵的一步,就是從服務(wù)器獲取請求的數(shù)據(jù)。
默認情況下,Ajax請求是異步的,但有時您需要同步發(fā)送請求。
Javascript示例:
var req = new XMLHttpRequest();
req.open("POST", "example.php”); // Asynchronous request
req.send();
jQuery示例:
$.ajax({
type: "POST",
url: "example.php",
success: function(data){
//response script here
}
});
$.ajax() 返回 XMLHttpRequest。
讓我們看一下下面的示例,以同步加載數(shù)據(jù),這在請求處于活動狀態(tài)時完全阻塞了瀏覽器。
JavaScript 示例:
var req = new XMLHttpRequest();
req.open("POST", "example.php”, false); // synchronous request
req.send();
jQuery 示例:
// Instantiate a request
var sync_request = $.ajax({
url: "example.php",
async: false,
success: function(data){
//response script here
}
});
在這里,當(dāng)您需要同步請求時,我們只需要傳遞“ async:false”。前面的示例為 open 中的最后一個參數(shù)設(shè)置了 true,而在本示例中,它設(shè)置為 false,因此請求是同步的。
Ajax給我們帶來了以下好處:
最大的一點是沒有頁面刷新,在頁面與服務(wù)器通信給用戶的體驗非常好。無需在每次請求中加載所有數(shù)據(jù)。
Ajax與服務(wù)器采用異步通信方式,不中斷用戶操作,具有更快速的響應(yīng)能力。
它減少了帶寬的使用,從而節(jié)省了空間和租金成本。
Ajax基于標準化和廣泛支持的技術(shù),無需下載插件或庫。
大家如果想了解更多相關(guān)知識,可以關(guān)注一下動力節(jié)點的AJAX教程,里面有更豐富的知識等著大家去學(xué)習(xí),相信對大家會有所幫助的。
初級 202925
初級 203221
初級 202629
初級 203743