Ajax调用不获取数据

Ajax调用不获取数据

问题描述:

$(document).ready(function(){ 

    /* Union Station */ 
    $.getJSON("http://myttc.ca/Union_station.json?callback=?", 
     function(data){ 
     if (routes.length > 0) { 

      $.each(data.stops, function(i,item){ 
       $("#Union").append("<p>Stop Name: " + item.name + "</p>"); 
       $.each(item.routes, function(i,item){ 
        $.each(item.stop_times, function(i,item){ 
        $("#Union").append("<p>Departure Times: " + item.departure_time + "</p>"); 
        $("#Union").append("<p>Shape: " + item.shape + "</p>"); 
        }); 
       }); 
      }); 
     } 
    }); 

});  

我得到一个空的屏幕在这
谁能帮助解决这个jQuery来从JSON 数据我只想显示与发车时间停止细节Ajax调用不获取数据

+3

你请求URL中的回调参数为空,看起来像是一个错误。那第二个'?'不应该在那里。 – Halcyon 2013-04-28 14:00:49

+0

可以帮助我修复...我是一个初学jquery – user2329186 2013-04-28 14:01:50

+0

$(function(){ $ .getJSON(“http://myttc.ca/Union_station.json?callback=?”, \t function(数据){ 的console.log(数据); \t $( “

”+ data.name +“

”).appendTo(“ #统一”); \t}); \t \t }); – user2329186 2013-04-28 14:04:08

routes可能不是你要找的内容在:

function(data){ 
    if (routes.length > 0) { 

至少我看不到的地方routes将被设置。您可能需要

function(data){ 
    if (data.length > 0) { 
+0

其实我只想显示带出发时间的站点.....当我删除if条件时,它将显示所有站点的结果 – user2329186 2013-04-28 14:24:16

请参阅接受此问题。哪个更具体到Jquery。 jsonp with jquery

和API文档会给你很多信息。 http://api.jquery.com/jQuery.getJSON/

+0

其实我只想显示与出发时间的站点 – user2329186 2013-04-28 14:26:48

有一个在成功callbak没有routes,所以删除条件

$(document).ready(function(){ 

    /* Union Station */ 
    $.getJSON("http://myttc.ca/Union_station.json?callback=?", 
       function(data){ 

        $.each(data.stops, function(i,item){ 
         $("#Union").append("<p>Stop Name: " + item.name + "</p>"); 
         $.each(item.routes, function(i,item){ 
          $.each(item.stop_times, function(i,item){ 
           $("#Union").append("<p>Departure Times: " + item.departure_time + "</p>"); 
           $("#Union").append("<p>Shape: " + item.shape + "</p>"); 
          }); 
         }); 
        }); 
       }); 

});  

演示:Fiddle

+0

其实我只想显示与出发时间的站点 – user2329186 2013-04-28 14:22:18

它应该是:

function(data){ 
    if (data.stops.length > 0) { 

这里是AJAX的结果:

Object {time: 1367157909, stops: Array[8], name: "Union Station", uri: "union_station"} 

编辑:

我想你需要一些额外的逻辑那么,这里的对象:

stops: Array[8] 
0: Object 
1: Object 
2: Object 
3: Object 
4: Object 
5: Object 
6: Object 
7: Object 
    agency: "Toronto Transit Commission" 
    name: "Union Station Subway Platform" 
    routes: Array[1] 
    0: Object 
     name: "Yonge-University-Spadina Subway" 
     route_group_id: "1" 
     stop_times: Array[6] 
     0: Object 
      departure_time: "10:07a" 
      departure_timestamp: 1367158079 

所以,你可以这样做:

for (var i = 0, l = data.stop.length, stop; i < l; i++) { 
    stop = data.stop[i]; 

    // If current stop has stop_times then... 
    if (stop.stop_times.length) { 
     // do something... 
     console.log(stop.stop_times); 
    } 
} 

例子:http://jsfiddle.net/fBd3s/

+0

其实我不想显示没有发车时间的站点 – user2329186 2013-04-28 14:16:41

+0

其实我只想显示出发时间的站点 – user2329186 2013-04-28 14:23:25

+0

看到我的编辑,这应该给你一个关于如何得到正确的停车位的粗略想法 – Adaz 2013-04-28 14:24:01