更新時(shí)間:2022-03-14 10:22:37 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1135次
同步Ajax請(qǐng)求是在收到響應(yīng)之前停止執(zhí)行請(qǐng)求的過程,而異步Ajax請(qǐng)求意味著腳本繼續(xù)該過程而不等待服務(wù)器回復(fù)。如果它到達(dá),它將處理回復(fù)。
Ajax的原理很簡單,向服務(wù)器對(duì)象發(fā)送一個(gè)異步請(qǐng)求就是從服務(wù)器獲取數(shù)據(jù),然后使用javascript來操作DOM并更新頁面。這是最關(guān)鍵的一步,就是從服務(wù)器獲取請(qǐng)求的數(shù)據(jù)。
默認(rèn)情況下,Ajax請(qǐng)求是異步的,但有時(shí)您需要同步發(fā)送請(qǐng)求。
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ù),這在請(qǐng)求處于活動(dòng)狀態(tài)時(shí)完全阻塞了瀏覽器。
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)您需要同步請(qǐng)求時(shí),我們只需要傳遞“ async:false”。前面的示例為 open 中的最后一個(gè)參數(shù)設(shè)置了 true,而在本示例中,它設(shè)置為 false,因此請(qǐng)求是同步的。
Ajax給我們帶來了以下好處:
最大的一點(diǎn)是沒有頁面刷新,在頁面與服務(wù)器通信給用戶的體驗(yàn)非常好。無需在每次請(qǐng)求中加載所有數(shù)據(jù)。
Ajax與服務(wù)器采用異步通信方式,不中斷用戶操作,具有更快速的響應(yīng)能力。
它減少了帶寬的使用,從而節(jié)省了空間和租金成本。
Ajax基于標(biāo)準(zhǔn)化和廣泛支持的技術(shù),無需下載插件或庫。
大家如果想了解更多相關(guān)知識(shí),可以關(guān)注一下動(dòng)力節(jié)點(diǎn)的AJAX教程,里面有更豐富的知識(shí)等著大家去學(xué)習(xí),相信對(duì)大家會(huì)有所幫助的。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743