2016-12-22 6 views
1

Я пытаюсь проверить подключение к Интернету в ЯШАХ:XMLHttpRequest работает только для локального хоста

function doesConnectionExist() { 
    var xhr = new XMLHttpRequest(); 
    var file = "https://www.google.com"; 
    var randomNum = Math.round(Math.random() * 10000); 

    xhr.open('HEAD', file + "?rand=" + randomNum, true); 
    xhr.send(); 

    xhr.addEventListener("readystatechange", processRequest, false); 

    function processRequest(e) { 

    if (xhr.readyState == 4) { 
     if (xhr.status >= 200 && xhr.status < 304) {     
     alert("connection ok"); 
     } else { 
     alert("connection doesn't exist!"); 
     } 
    } 
    } 
} 

Ее не работает, показывая:

соединение не существует!

, если я прохожу «локальный/MYAPP» Вместо «www.google.com», он отлично работает, но если я передаю мой IP вместо «локальный», он не работает, что снова.

+0

Javascript по умолчанию блокирует все перекрестные запросы сайта AJAX. Он будет работать только с ur localhost. –

+0

Это похоже на проблему с перекрестным доменом Ajax. –

+0

как решить. Любые предложения PLS .. –

ответ

0

Вы можете использовать прокси-сервер с включенным CORS, если ваше требование прост. У вас даже может быть прокси-сервер вашей собственной установки с аналогичной услугой. Если вы просто проверяете время безотказной работы одного сервера, тогда лучше включить CORS на вашем сервере для этой услуги.

function doesConnectionExist(url) { 
 
    var xhr = new XMLHttpRequest(); 
 
    var file = "http://cors-anywhere.herokuapp.com/" + url; 
 
    var randomNum = Math.round(Math.random() * 10000); 
 

 
    xhr.open('HEAD', file + "?rand=" + randomNum, true); 
 
    xhr.send(); 
 

 
    xhr.addEventListener("readystatechange", processRequest, false); 
 

 
    function processRequest(e) { 
 
    if (xhr.readyState == 4) { 
 
     console.log(url, xhr.status); 
 
     if (xhr.status >= 200 && xhr.status < 304) { 
 

 
     console.log("connection ok"); 
 
     } else { 
 
     console.log("connection doesn't exist!"); 
 
     } 
 
    } 
 
    } 
 
} 
 
doesConnectionExist("http://www.marotikkaya.in"); 
 
doesConnectionExist("http://www.google.com");

 Смежные вопросы

  • Нет связанных вопросов^_^