2016-12-07 3 views
0

Пытается использовать чистый JS-подход, чтобы проверить, есть ли у меня правильный URL-адрес изображения JS. Я получаю предупреждение, что XMLHttpRequest устарел. Что это лучший способ сделать это?XMLHttpRequest устарел. Что использовать вместо этого?

urlExists(url) { 
    const http = new XMLHttpRequest(); 
    http.open('HEAD', url, false); 
    http.send(); 
    if (http.status !== 404) { 
     return true; 
    } 
    return false; 
    } 
+0

В какой среде/браузер вы получаете предупреждение в? –

+2

Прочтите полное предупреждение, которое вы получили – Dekel

+2

Возможный дубликат [Альтернативы для Javascript Synchronous XMLHttpRequest (как время в Safari)] (http://stackoverflow.com/questions/10076614/alternatives-for-javascript-synchronous-xmlhttprequest-as- времени ожидания-в-сафари) – Xufox

ответ

1

Возможно, вы получаете сообщение о том, что синхронное использование из XMLHttpRequest устарело (из-за его вредного влияния на пользовательский интерфейс, оно затягивает страницу в ожидании ответа). Я могу заверить вас, что надлежащее асинхронно использование этого API не является устаревшим.

Вот пример кода для правильного использования:

var xhr = new XMLHttpRequest() 
 
xhr.onreadystatechange = function() { 
 
    if (this.readyState === this.DONE) { 
 
     console.log(this.status) // do something; the request has completed 
 
    } 
 
} 
 
xhr.open("HEAD", "http://example.com") // replace with URL of your choosing 
 
xhr.send()

1

Предупреждение, вероятно, связано с тем, что вы выполняете синхронный запрос.