您好,登錄后才能下訂單哦!
這篇文章主要介紹“XMLHttpRequest的open和send方法怎么用”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“XMLHttpRequest的open和send方法怎么用”文章能幫助大家解決問題。
url - 服務器上的文件
open() 方法的 url 參數,是服務器上文件的地址:
xhttp.open("GET", "ajax_test.asp", true);
該文件可以是任何類型的文件,如 .txt 和 .xml,或服務器腳本文件,如 .asp 和 .php(它們可以在發送回響應之前在服務器執行操作)。
異步 - ture 還是 false?
如需異步發送請求,open() 方法的 async 參數必須設置為 true:
xhttp.open("GET", "ajax_test.asp", true);
發送異步請求對 web 開發人員來說是一個巨大的進步。服務器上執行的許多任務都非常耗時。在 AJAX 之前,此操作可能會導致應用程序掛起或停止。
通過異步發送,JavaScript 不必等待服務器響應,而是可以:
在等待服務器響應時執行其他腳本
當響應就緒時處理響應
onreadystatechange 屬性
通過 XMLHttpRequest 對象,您可以定義當請求接收到應答時所執行的函數。
這個函數是在 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();
您將在稍后的章節學到更多有關 onreadystatechange 的知識。
同步請求
如需執行同步的請求,請把 open() 方法中的第三個參數設置為 false:
xhttp.open("GET", "ajax_info.txt", false);
有時 async = false 用于快速測試。你也會在更老的 JavaScript 代碼中看到同步請求。
由于代碼將等待服務器完成,所以不需要 onreadystatechange 函數:
實例
xhttp.open("GET", "ajax_info.txt", false);
xhttp.send();
document.getElementById("demo").innerHTML = xhttp.responseText;
我們不推薦同步的 XMLHttpRequest (async = false),因為 JavaScript 將停止執行直到服務器響應就緒。如果服務器繁忙或緩慢,應用程序將掛起或停止。
同步 XMLHttpRequest 正在從 Web 標準中移除,但是這個過程可能需要很多年。
現代開發工具被鼓勵對使用同步請求做出警告,并且當這種情況發生時,可能會拋出 InvalidAccessError 異常。
關于“XMLHttpRequest的open和send方法怎么用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。