2017-01-12 4 views
0

У меня проблема с этим кодом ниже. Он отлично работает на firefox v50.X, но не работает на chrome v55.X.JS - AJAX работает на firefox, но не на хроме

HTML

<!doctype html> 
<html> 
<head> 
    <script> 
     function load(){ 
     if(window.XMLHttpRequest) { 
      xmlhttp = new XMLHttpRequest(); 
     } else { 
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
     xmlhttp.onreadystatechange = function() { 
     if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
      document.getElementById("container").innerHTML = xmlhttp.responseText; 
     } 
     } 
     xmlhttp.open("GET", "name.html", true); 
     xmlhttp.send(); 
     } 
    </script> 
</head> 
<body> 
    <input type="submit" onclick="load();"> 
    <div id="container"></div> 
</body> 
</html> 

name.html

<html> 
<body> 
    <p>Test.</p> 
</body> 
</html> 

Почему этот код не работает на хроме?

+0

Укажите ошибку из Developper консоли Google Chrome. Его можно найти в разделе «Параметры -> Дополнительные инструменты -> Средства разработки». Он откроет новое окно, из которого вы увидите вкладку Консоль. –

+0

Я не совсем уверен, но вы попробовали взять '' и' 'теги out of name.html? Они не должны быть там, если вы загружаете контент динамически. –

ответ

0

Попробуйте это:

function GetXmlHttpObject(){ 
var xmlHttp=null; 
try 
    { 
    // Firefox, Opera 8.0+, Safari 
    xmlHttp=new XMLHttpRequest(); 
    } 
catch (e) 
    { 
    // Internet Explorer 
    try 
    { 
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); 
    } 
    catch (e) 
    { 
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    } 
return xmlHttp; 
} 

var xmlhttp=GetXmlHttpObject(); 

Source

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