Phonegap:收到的JSON数据无法显示

时间:2014-11-06 04:23:26

标签: android cordova formatting jsonp

我正在尝试编写一个动态的phonegap应用程序,用于从实时数据库中检索和格式化信息。

我使用jsonp从我编码的php服务中获取数据。

$(document).ready(function(){

    var output = $('#output');

    $.ajax({
        url: 'http://example.com/service.php',
        dataType: 'jsonp',
        jsonp: 'jsoncallback',
        timeout: 5000,
        success: function(data, status){
            //data loaded
            $.each(data, function(c,comp){
                window.alert(comp.filter); // I added this just to check I was getting data correctly.
                var company = '<div class="project-post ' +comp.filter+ ' ">'
                        +'<img  src=" ' +comp.img+ ' ">'
                        +'<div class="hover-box">'
                            +'<div class="project-title">'
                                +'<div><a href="coupons.html?id='+comp.id+'" rel="external"><i class="fa fa-arrow-right"></i></a></div>'
                            +'</div></div></div>';

                    output.append(company);
            });
        },
        error: function(){
            //error loading data
            output.text('Error loading data.');
        }
    });
});

我的控制台没有显示任何错误,我一直试图解决这个问题很长一段时间。我在配置中有这个:

<access origin="*" />

此外,我确认我收到了window.alert(comp.filter);的数据。它根本就没有显示,可能是我的格式错误但却无法弄清楚它是什么。< / p>

1 个答案:

答案 0 :(得分:0)

我认为这个问题是因为dom格式化,img标签没有正确关闭它应该是这样的:

var company = '<div class="project-post ' +comp.filter+ ' ">' +'<img src=" ' +comp.img+ ' "/>' +'<div class="hover-box">' +'<div class="project-title">' +'<div><a href="coupons.html?id='+comp.id+'" rel="external"><i class="fa fa-arrow-right"></i></a></div>' +'</div></div></div>';

还要注意您的访问策略以允许所有URL,使用以下代码更新您的config.xml文件:

<access origin="*" />