2013-04-28 74 views
0
$(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

回答

1

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

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

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

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

其實我只想顯示帶出發時間的站點.....當我刪除if條件時,它將顯示所有站點的結果 – user2329186 2013-04-28 14:24:16

1

有一個在成功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

2

它應該是:

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