javascript - 如何在 Jquery Mobile 中加载 json 数据?

标签 javascript jquery ajax json jquery-mobile

我正在 Jquery Mobile 上工作,我想在 ListView 中获取 Json 数据,如此链接 ListView 所示。我已经尝试使用 Jquery 和 Ajax 它是成功的。但进入 Jquery Mobile 数据未加载。为什么?

<强> JSFIDDLE

//code
var content='';     
      $.each(data,function(index,item){            
            content +=  '<img src="'+item.thumb+'"  class="userimage">';
            content +=  '<h3 class="userurl">'+item.keywords+'</h3>';                  
            content +='<p class="username">'+item.bombscount+'</p>';    
            });
      $('#ball').append(content);

最佳答案

工作示例:http://jsfiddle.net/Gajotres/QZ342/9/

HTML:

<!DOCTYPE html>
<html>
    <head>
        <title>jQM Complex Demo</title>
        <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
        <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; minimum-scale=1.0; user-scalable=no; target-densityDpi=device-dpi"/>
        <link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.css" /> 
        <!--<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>-->
        <script src="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.js"></script>    
    </head>
    <body> 
        <div data-role="page" id="index" tabindex="0" class="ui-page ui-page-theme-a ui-page-active">
            <div data-role="content" class="ui-content"> 
                <ul data-role="listview" class="ui-listview" id="ball">

                </ul>
            </div>
        </div>
    </body>
</html>   

JavaScript:

$(document).ready(function(){
    $.getJSON("http://www.myappdemo.net/dev_bloopit/index.php/bloopit/Bloops?userid=145&category=popular&start=0",function(data){        
        var content='';     
        $.each(data,function(index,item){     
            content +=  '<li><a href="index.html"><img src="'+item.thumb+'"  class="userimage">';
            content +=  '<h3 class="userurl">'+item.keywords+'</h3>';                  
            content +='<p class="username">'+item.bombscount+'</p></a></li>';    
        });
        $('#ball').append(content);        
        $('#ball').listview('refresh');
    });
});   

更改:

  • 文档就绪未正确关闭
  • 请注意,不要使用 jQuery Mobile 准备好的文档,而是使用 pageinit 事件,但这不是重点
  • listview 创建不正确,因此我修复了布局
  • 添加内容后 ListView 未增强

关于javascript - 如何在 Jquery Mobile 中加载 json 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23784129/

相关文章:

javascript - 仅更改用户在 AJAX 扩展文本框中输入的字符串的文本颜色

javascript - XMLHttpRequest 无法加载 ZScaler 问题

javascript - 新手ajax和php获取参数

javascript - 如何在命令之间给ajax片刻

java - 你如何在 Spring MVC 中处理 Ajax 请求?

javascript - 将 ID 注入(inject)组件 : Difference between custom component and "primitive" (<div/>) component?

javascript - jquery 和 javascript 的不同结果

javascript - 无法设置组件的背景图片宽高

javascript - 在页面加载时重绘完整日历

javascript - jQuery .click(函数()在 IE7 中不起作用