没有样式的 AJAX 请求 jQuery 链接

Posted

技术标签:

【中文标题】没有样式的 AJAX 请求 jQuery 链接【英文标题】:AJAX Request jQuery Link with no styles 【发布时间】:2013-03-18 05:58:03 【问题描述】:

我有这个代码。它获取请求数据并刷新显示在 DIV 中。

为什么它可以在 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 );

您也可以取消&lt;body onload="GetDate()"&gt;,而直接使用&lt;body&gt;

【讨论】:

以上是关于没有样式的 AJAX 请求 jQuery 链接的主要内容,如果未能解决你的问题,请参考以下文章

jquery.ajax具体是如何操作的,用jq.ajax()跳转过去的页面是怎么在后台执行前面的请求回到前一个页面的?

如何在 Ajax 请求后重新生成 jQuery Mobile 样式?

jq AJAX拦截器

哪些浏览器不支持带有 jQ​​uery.ajax 的 HTTP DELETE? [复制]

jQuery从零开始-----ajax

怎样用jq在某个样式中删除某一条样式