Скрипт AJAX работает только в Firefox, но не в IE - PullRequest
0 голосов
/ 24 декабря 2009

Мой ajax-скрипт работает только в Firefox, а не почему.

========================================

   <html>
    <head>

<script language=Javascript>
function Inint_AJAX() {
try { return new ActiveXObject("Msxml2.XMLHTTP");  } catch(e) {} //IE
try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} //IE
try { return new XMLHttpRequest();          } catch(e) {} //Native Javascript
alert("XMLHttpRequest not supported");
return null;
};

function dochange(src) {

var req = Inint_AJAX();
req.onreadystatechange = function () {


 if (req.readyState==4) {
      if (req.status==200) {


document.getElementById(src).innerHTML=req.responseText; //retuen value
setTimeout("dochange('showResult')",5000);
}

if (!req.responseXML.documentElement && req.responseStream)
  req.responseXML.load(req.responseStream);
 }
};
req.open("GET", "ajax.php"); //make connection
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8"); // set Header
req.send(null); //send value
}

window.onLoad=dochange('showResult');
</script>
</head>


<body>
<div id="showResult"></div> <!–page result will be displayed here–>
</body>
</html>

1 Ответ

4 голосов
/ 24 декабря 2009

Люк, используй источник! Еще лучше использовать проверенную библиотеку JS, например, JQuery. Они разбираются со всем этим хр-р и делают это лучше, чем вы когда-либо имели бы время сделать сами.

Обновление:

Алекс - все шутки в сторону. Причина, по которой мы все говорим вам использовать jQuery (или одну из других основных библиотек Javascript), заключается в том, что заставить этот материал работать во всех (или даже близких) браузерах действительно трудно . Несмотря на то, что MS обрабатывает HTML и CSS (и, поверьте мне, это отстой), их различные реализации JavaScript обеспечивают широкий спектр возможностей от дерьма до огромного парения кучи дерьма. Различные библиотеки JS предоставляют вам стандартные, кросс-браузерные способы работы - вещи, которые потребовались настоящими профессионалами лет , чтобы получить право. Вы действительно действительно не хотите тратить свое время на эти вещи.

Итак, используйте хорошую библиотеку, работайте в Firefox, используя Firebug в качестве отладчика, и у вас есть достаточно шансов, что она будет работать в IE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...