我正在寫一個JavaScript應用程序,它會發出遠程服務器的HTTP請求。用戶將輸入主機名稱。XMLHttpRequest()&net :: ERR_NAME_NOT_RESOLVED
我想提供診斷消息,如果他們輸入無法解析的DNS名稱。下面是當前的代碼:
var req, t, url;
url = 'http://definitelydoesntexist0x314159.com';
req = new XMLHttpRequest();
req.open('GET', url, true);
req.onreadystatechange = function() {
if (req.readyState == 4) {
t = req.statusText;
}
};
req.send();
在onreadystatechange的功能,REQ有狀態= 0,反應是「」,所以沒有什麼地方出了錯很多指示。但是控制檯顯示「無法加載資源:net :: ERR_NAME_NOT_RESOLVED」,因此瀏覽器(Chrome)能夠找出發生的事情。
如何獲得ERR_NAME_NOT_RESOLVED的指示?
更新:我已經回來到這個問題時,使用的是不是「超時」任何迴應指該名稱解析,主機答案策略等
這個問題的答案我的原問題似乎是:看起來,瀏覽器本身(在這種情況下爲Chrome)檢測到解決失敗並將其顯示在控制檯中,但XMLHttpRequest API不夠豐富,無法指出原因。所以這個可憐的Javascript程序員被困在超時時間之內。
我還刪除了CORS標頭,正如其中一位正確提到的評論者沒有任何價值。
設置'req.setRequestHeader('Access-Control-Allow-Origin',url);'在請求中是沒用的。 – epascarello
我聽說這很重要:你能說出爲什麼它沒用嗎?謝謝你幫我理解這個 –
因爲服務器只能設置它。 – epascarello