2013-03-27 3 views
0

У меня есть этот код. Он получает данные запроса и отображает его в DIV с обновлением.AJAX Запрос jQuery Ссылка без стилей

Почему можно отображать запрошенные данные, такие как «Простой текст» в DIV, но не может показать, например, такую ​​строку:

<a href="#" data-role="button">Button</a> 

с прикладной/оказанной CSS и стилей кнопок jQuery.mobile? Я что-то упускаю?

<!DOCTYPE html> 
<html> 
    <head> 
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.css"> 
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
    <script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script> 
    <script> 
     function GetData() 
     { 
     nocache = "&nocache=" + Math.random() * 1000000; 
     var request = new XMLHttpRequest(); 
     request.onreadystatechange = function() 
     { 
      if (this.readyState == 4) { 
      if (this.status == 200) { 
       if (this.responseText != null) { 
       document.getElementById("buttons").innerHTML = this.responseText; 
       } 
      } 
      } 
     } 
     request.open("GET", "state" + nocache, true); 
     request.send(null); 
     setTimeout('GetData()', 1000); 
     } 
    </script> 
    </head> 
    <body onload="GetData()"> 
    <div id="buttons" data-role="content"> 
    </div> 
    </body> 
</html> 

ответ

1

заменить этот document.getElementById("buttons").innerHTML = this.responseText; с

$("#buttons").html(this.responseText); 

Вот что я делаю.

Кроме того, видя, как вы используете JQuery, вы можете заменить большую часть кода, которая занимается проверкой состояния готовности и т.д. с $(function(){ //your code here });

Вы также можете избавиться от <body onload="GetDate()"> и просто <body>.