天天看點

php xmlhttp,PHP-具有逾時條件的XMLHTTPRequest

在XMLHTTPRequest中,如何使用逾時條件,以便如果伺服器在固定的時間段内(例如5秒)沒有響應,則應顯示錯誤消息?

換句話說,該請求應等待5秒鐘,如果伺服器沒有響應,則該請求應顯示一條消息,提示“逾時.請稍後重試”.如果代碼可以同時用于同步和異步會更好.

我使用的以下代碼沒有逾時條件.

function testXMLHTTP()

{

if(window.XMLHttpRequest)

{

xmlhttp = new XMLHttpRequest();

}

else

{

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

}

xmlhttp.onreadystatechange=function()

{

if (xmlhttp.readyState==4 && xmlhttp.status==200)

{

document.getElementById("myDiv").innerHTML=xmlhttp.responseText;

}

else if(xmlhttp.readyState < 4)

{

document.getElementById("myDiv").innerHTML="Loading...";

}

}

xmlhttp.open("GET","abcd.php",true);

xmlhttp.send();

}

解決方法:

如果您可以為項目使用外部庫,則可以考慮使用它:jQuery’s ajax module允許您為請求指定逾時.在大多數浏覽器中(沒有,顯然是IE8),沒有内置的方法來處理帶有XMLHTTPRequest對象的逾時,是以您将需要set a timeout在一段時間後檢查請求的狀态. This answer to a similar question更加全面地探索了該特定解決方案,但我仍然建議您使用jQuery(如果可以的話).

标簽:ajax,xmlhttprequest,javascript,php

來源: https://codeday.me/bug/20191102/1990259.html