Ajax xmlHTTPRequest

Я пытаюсь получить содержимое страницы с помощью AJAX и не получаю результата.

это код:

<script type="text/javascript">
function onSumResponse() {
var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","http://www.arihav.com/",true);
xmlhttp.send();
}

</script>

А это div в теле:

<div id="myDiv"><h2>Let AJAX change this text</h2></div>
<button type="button" onclick="onSumResponse()">Change Content</button>

То, что я получаю после клика, это пустой div.

РЕДАКТИРОВАТЬ: Этот код был взят из w3schools.

РЕДАКТИРОВАТЬ 2: Это код в vbscript, который работает:

GotothisURL = "http://www.arihav.com"
Set GetConnection = CreateObject("Microsoft.XMLHTTP")
GetConnection.Open "get", GotothisURL, False
GetConnection.Send
ResponsePage = GetConnection.responseText

person Amir Tugi    schedule 08.07.2012    source источник
comment
Вы проверили ответ, исходящий от вызова ajax? вы хоть какие-то данные получаете?   -  person Tomer    schedule 08.07.2012
comment
Вероятно, это междоменный запрос, поэтому он, вероятно, не сработает. Также плохо то, что у вас код для IE6, IE5 комментарий.   -  person Ry-♦    schedule 08.07.2012
comment
@ ftom2: Что вы подразумеваете под проверкой ответа? Я изменил содержимое div в соответствии с функцией. Разве этого недостаточно?   -  person Amir Tugi    schedule 08.07.2012
comment
Сделайте предупреждение или console.log в xmlhttp.responseText, я предполагаю, что он пуст, а затем проблема заключается в том, что сервер не отправляет данные. Кроме того, если вы можете, я бы посоветовал вам начать использовать jquery, это сделает вашу жизнь намного проще.   -  person Tomer    schedule 08.07.2012
comment
Оповещение вернулось пустым. Это действительно странно, потому что у меня есть этот простейший код в vbscript, который работает, но я не могу заставить что-то еще работать. (Мне это нужно на PHP).   -  person Amir Tugi    schedule 08.07.2012
comment
Как сказал @minitech, это похоже на междоменный запрос, что означает, что он не будет работать, если запрошенный сервер явно не разрешает такие запросы.   -  person Mitya    schedule 08.07.2012
comment
Пожалуйста, взгляните на мое второе редактирование. Этот код работает, но он в vbscript.   -  person Amir Tugi    schedule 08.07.2012


Ответы (1)


AJAX не разрешает доступ к другому серверу из-за политики происхождения, если вы хотите запросить другой хост, лучше использовать curl или JSON

person itsme    schedule 08.07.2012