getJSON中的getJSON

时间:2015-03-09 14:35:48

标签: php jquery json html5

我有一个搜索,但没有找到任何帮助我解决我的小问题。如果我抛出某种错误会很好,但下面的代码执行得非常完美。

在本质上,我有一个火车离站列表(由自定义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中。

在每次出发时,脚本会将每项服务的详细信息列入列出列车将要呼叫的位置 - 这是完全被忽略的位。

0 个答案:

没有答案