重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設、域名注冊、服務器等服務
為企業(yè)提供網(wǎng)站建設、域名注冊、服務器等服務
這篇文章主要介紹“XMLHttpRequest的open和send方法怎么用”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“XMLHttpRequest的open和send方法怎么用”文章能幫助大家解決問題。
創(chuàng)新互聯(lián)主營靈璧網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,重慶APP開發(fā),靈璧h5小程序設計搭建,靈璧網(wǎng)站營銷推廣歡迎靈璧等地區(qū)企業(yè)咨詢
url - 服務器上的文件
open() 方法的 url 參數(shù),是服務器上文件的地址:
xhttp.open("GET", "ajax_test.asp", true);
該文件可以是任何類型的文件,如 .txt 和 .xml,或服務器腳本文件,如 .asp 和 .php(它們可以在發(fā)送回響應之前在服務器執(zhí)行操作)。
異步 - ture 還是 false?
如需異步發(fā)送請求,open() 方法的 async 參數(shù)必須設置為 true:
xhttp.open("GET", "ajax_test.asp", true);
發(fā)送異步請求對 web 開發(fā)人員來說是一個巨大的進步。服務器上執(zhí)行的許多任務都非常耗時。在 AJAX 之前,此操作可能會導致應用程序掛起或停止。
通過異步發(fā)送,JavaScript 不必等待服務器響應,而是可以:
在等待服務器響應時執(zhí)行其他腳本
當響應就緒時處理響應
onreadystatechange 屬性
通過 XMLHttpRequest 對象,您可以定義當請求接收到應答時所執(zhí)行的函數(shù)。
這個函數(shù)是在 XMLHttpResponse 對象的 onreadystatechange 屬性中定義的:
實例
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("demo").innerHTML = this.responseText;
}
};
xhttp.open("GET", "ajax_info.txt", true);
xhttp.send();
您將在稍后的章節(jié)學到更多有關 onreadystatechange 的知識。
同步請求
如需執(zhí)行同步的請求,請把 open() 方法中的第三個參數(shù)設置為 false:
xhttp.open("GET", "ajax_info.txt", false);
有時 async = false 用于快速測試。你也會在更老的 JavaScript 代碼中看到同步請求。
由于代碼將等待服務器完成,所以不需要 onreadystatechange 函數(shù):
實例
xhttp.open("GET", "ajax_info.txt", false);
xhttp.send();
document.getElementById("demo").innerHTML = xhttp.responseText;
我們不推薦同步的 XMLHttpRequest (async = false),因為 JavaScript 將停止執(zhí)行直到服務器響應就緒。如果服務器繁忙或緩慢,應用程序將掛起或停止。
同步 XMLHttpRequest 正在從 Web 標準中移除,但是這個過程可能需要很多年。
現(xiàn)代開發(fā)工具被鼓勵對使用同步請求做出警告,并且當這種情況發(fā)生時,可能會拋出 InvalidAccessError 異常。
關于“XMLHttpRequest的open和send方法怎么用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識,可以關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。