到目前爲止,我做的所有航空公司列表,其價格爲每飛行,現在我想所有關於從JSON名單,這些航班的信息,這裏的任何方式的功能是:不能得到JSON列表數據
第一功能正常工作:
function show_airlines() {
$.getJSON("http://api.anywayanyday.com/api/NewRequest/?Route=2406MOWLON&AD=1&CN=0&CS=E&Partner=testapic&_Serialize=JSON&callback=?", function(data) {
var id=data.Id;
$('#search_id').attr('rel',id);
$.getJSON("http://api.anywayanyday.com/api/Fares/?R="+id+"&V=Matrix&VB=true&L=ru&_Serialize=JSON&callback=?", function(data) {
var pricesForEachAirline = [];
$.each(data.Airlines, function() {
var item = { name : this.Name, prices : [], code: this.Code, airid: []};
for(var y in this.FaresFull)
{
item.prices.push(this.FaresFull[y].TotalAmount);
item.airid.push(this.FaresFull[y].FareId);
}
pricesForEachAirline.push(item);
});
$.each(pricesForEachAirline , function(){
$('#airlines').append('<a href="javascript://" onclick="show_flights('+ this.airid +');">'+ this.name +'</a>').append('</br>');
$('#prices').append(this.prices.join(',')).append('</br>');
});
});
});
}
第二個不工作正常...
function show_flights() {
var id=$('#search_id').attr('rel');
var list = Array.prototype.slice.call(arguments, 0);
$.getJSON("http://api.anywayanyday.com/api/Fares/?R="+id+"&V=Matrix&VB=true&L=ru&_Serialize=JSON&callback=?", function(data) {
var dataForEachFlight = [];
$.each(data.Airlines, function() {
for(var x in this.FaresFull)
{
if(this.FaresFull[x].FareId in list)
{
var flight = { from : [], to : []}
for(var y in this.FaresFull.Directions.Segments.Trips)
{
flight.from.push(this.FaresFull.Directions.Segments.Trips.Departure[y].AirportCode);
flight.to.push(this.FaresFull.Directions.Segments.Trips.Arrival[y].AirportCode);
}
dataForEachFlight.push(flight);
}
}
});
$.each(dataForEachFlight , function(){
$('#flights').append(this.from.join(',')).append('</br>');
});
});
}
所以,當我在航空公司點擊我想要得到的信息,它僅是航班,但它給出了這樣的錯誤:this.FaresFull.Directions是undefined和作爲json的例子,我想從中獲取所有信息:http://vteem.net/json.json(這只是例子,原來的u可以從鏈接函數中獲取)
謝謝大家的幫助,我真的很感激!
功能2 UPDATE
function show_flights() {
var id=$('#search_id').attr('rel');
var list = Array.prototype.slice.call(arguments, 0);
$.getJSON('http://api.anywayanyday.com/api/Fares/?R='+id+'&V=Matrix&VB=true&L=ru&_Serialize=JSON&callback=?', function(data) {
var dataForEachFlight = [];
$.each(data.Airlines, function() {
for(var a in this.FaresFull)
{
for(var b in this.FaresFull[a].FareId)
{
if(this.FaresFull[a].FareId[b] in list)
{
var flight = { from : [], to : []};
for(var c in this.FaresFull[a].Directions[0].Segments[0].Trips)
{
flight.from.push(this.FaresFull[a].Directions[0].Segments[0].Trips[c].Departure.AirportCode);
flight.to.push(this.FaresFull[a].Directions[0].Segments[0].Trips[c].Arrival.AirportCode);
}
dataForEachFlight.push(flight);
}
}
}
});
$.each(dataForEachFlight , function(){
$('#flights').append(this.from.join(',')).append('</br>');
});
});
}
嘗試#12
現在得到的數據,但重複太多:)一些錯誤在()的條款。
也許這實際上是* *'undefinined',你只需要檢查它的值前手? – DrColossos
您鏈接的文件中的JSON不是正確的JSON。 '({})'不起作用,這個對象內沒有任何屬性,特別是不是你想要的屬性。你的JSON需要顯示爲'[{}]'。 – Ohgodwhy
@DrColossos是的,它是不確定的,因爲我錯誤地寫了代碼,這就是爲什麼我要求幫助 –