2010-02-20 2 views
0

Я этого не понимаю. У меня есть запрос innerHTML.странный код, связанный с поведением ajax, нарушает запрос?

<a href="javascript:void(0)" onclick="getData('/includes/hello.php', 'targetDiv')"></a> 

<div id="targetDiv"></div> 

Один из включает в себя это:

<?php 
echo ("Hello, world"); 
?> 

и работает нормально, но если я делаю:

<?php 
echo ("Hello, world"); 
?> 
<!-- 
lots of code I'm trying to debug 
--> 

он не работает.

Почему?

GetData:

<script language = "javascript"> 
     var XMLHttpRequestObject = false; 

     if (window.XMLHttpRequest) { 
     XMLHttpRequestObject = new XMLHttpRequest(); 
     } else if (window.ActiveXObject) { 
     XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP"); 
     } 

     function getData(dataSource, divID) 
     { 
     if(XMLHttpRequestObject) { 
      var obj = document.getElementById(divID); 
      XMLHttpRequestObject.open("GET", dataSource); 

      XMLHttpRequestObject.onreadystatechange = function() 
      { 
      if (XMLHttpRequestObject.readyState == 4 && 
       XMLHttpRequestObject.status == 200) { 
       obj.innerHTML = XMLHttpRequestObject.responseText; 
      } 
      } 

      XMLHttpRequestObject.send(null); 
     } 
     } 
    </script> 
+1

Не могли бы вы также оставить здесь код функции getData, потому что, глядя на свой пост, я так же хорошо, как вы этого не понимаете. –

+0

ОК. Да-проводка (она находится в голове) – Joel

+0

От * это не работает * вы имеете в виду, вы не получаете ответа назад? Или ответ не впрыснут в дерево DOM правильно? –

ответ

1

Это выглядит в основном, вероятно, будет ошибкой в ​​PHP коде, а не ваш яваскрипт кода. Я рекомендую вам ввести URL-адрес скрипта PHP в свой браузер и проверить, производит ли он ожидаемый результат. Еще лучше рекомендую установить firebug. Это позволит вам проверять каждый запрос ajax, когда это происходит. Более того, это позволит вам отлаживать ваш javascript и проверять переменные.

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