2014-11-06 36 views
0

我试图编写一个动态的phonegap应用程序,它可以从实时数据库中检索和格式化信息。Phonegap:收到的JSON数据无法显示

我使用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);数据,或许真的是错了我的格式,但无法弄清楚它是什么。

回答

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="*" /> 
+0

我有这在我的配置:''。另外我确认我正在用'window.alert(comp.filter)接收数据;'它根本没有显示,可能是我的格式有问题,但无法弄清楚它是什么。 – 2014-11-06 07:52:41