我有一个搜索,但没有找到任何帮助我解决我的小问题。如果我抛出某种错误会很好,但下面的代码执行得非常完美。
在本质上,我有一个火车离站列表(由自定义API departures.php以JSON格式返回),但是当我循环遍历这个返回的数组时,我想调用第二个自定义API使用service.php提供服务的详细信息(基于从第一个API中提取的变量,即唯一标识符)。
以下是服务唯一ID的示例
Y5G8DkxFcxw7 + xmbbBNM1g ==
然而,第二个getJSON根本没有返回任何内容..它好像它不存在..虽然php API功能完全如果自己使用
这是代码,任何指针都非常感激。请注意我已经删除了很多从departure.php返回数据生成视图的HTML,并且刚刚离开了基础知识。
注意:这纯粹是一个实验,而不是商业产品。
var $crs = GetURLParameter('crs');
$.getJSON('departures.php?crs='+$crs, function (data) {
var headertemplate = '<div class="col-md-6"><h2>Departure from ' + data.GetStationBoardResult.locationName + '</h2></div>';
var date = new Date(data.GetStationBoardResult.generatedAt);
var dateString = date.getFullYear() + '-' + ("0" + (date.getMonth() + 1)).substr(-2) + '-' + ("0" + date.getDate()).substr(-2);
var timeString = ("0" + date.getHours()).substr(-2) + ':' + ("0" + date.getMinutes()).substr(-2);
headertemplate += '<div class="col-md-6 text-right"><h2>Last updated: ' + timeString + ' </h2></div>';
$("#headerArea").html(headertemplate);
var template = '<table class="table">';
template += '<tbody>';
for (var i in data.GetStationBoardResult.trainServices.service) {
template += '<tr>';
template += '<td colspan="4">Calling at ';
$service = data.GetStationBoardResult.trainServices.service[i].serviceID;
$.getJSON('servicedetails.php?service='+$service, function (data2) {
for (var j in data2.GetServiceDetailsResult.subsequentCallingPoints.callingPointList.callingPoint) {
template += data2.GetServiceDetailsResult.subsequentCallingPoints.callingPointList.callingPoint[j].locationName;
template += ', ';
}
});
template += '</tr>';
}
template += '</tbody>';
template += '</table>';
$("#dataArea").html(template);
});
为了实现这一点,URL会发送一个三字母的字符串,用于拉出站点离开,这是一个数组。
该脚本生成工作站信息并返回带有id标头的div。
然后脚本循环遍历所有离开,构建模板,然后将其注入到具有id dataArea的div中。
在每次出发时,脚本会将每项服务的详细信息列入列出列车将要呼叫的位置 - 这是完全被忽略的位。