Javascript 第二个ajax请求没有响应

Javascript 第二个ajax请求没有响应,javascript,jquery,google-maps,google-maps-api-3,google-fusion-tables,Javascript,Jquery,Google Maps,Google Maps Api 3,Google Fusion Tables,我没有收到第二个ajax请求的响应。我试图在谷歌地图上显示一个谷歌信息窗口,当某个条件匹配时,该窗口只包含一个选项卡,否则我想显示两个选项卡。我以为我可以用另一个定制行为的标记函数轻松实现这一点,但我没有收到任何响应。在此方面的任何帮助都将不胜感激。提前谢谢 // click event handler google.maps.event.addListener(marker, 'click', function () { var ecoli_array = [];

我没有收到第二个ajax请求的响应。我试图在谷歌地图上显示一个谷歌信息窗口,当某个条件匹配时,该窗口只包含一个选项卡,否则我想显示两个选项卡。我以为我可以用另一个定制行为的标记函数轻松实现这一点,但我没有收到任何响应。在此方面的任何帮助都将不胜感激。提前谢谢

// click event handler
    google.maps.event.addListener(marker, 'click', function () {

        var ecoli_array = [];
        var marker = this;
        var str = "";
        var beach_status; // beach_status flag

        // load gif before ajax request completes
        infoWindow.setContent('<img src="img/loading.gif" alt="loading data"/>');
        infoWindow.open(map, marker);

        // override beach data when a beach is closed
        beach_status = this.getBeachStatus();
        beach_status = beach_status.toLowerCase();
        if (beach_status === 'closed') {
            str = [
                    '<h1>' + this.beach_name + '</h1>',
                    '<h3>' + this.beach_region + '</h3>',
                    '<p>' + this.status_description + '</p>'
                 ].join('');
            infoWindow.setContent(str);
            infoWindow.open(map, marker); // changed this to marker to resolve issue


        } else {

            // chained ajax invocations
            if ( this.displayOnlyAlgaeResults === false ) {
                // Standard Use case
                $.when(this.getEcoliData(), this.getAlgaeData()).done(function (data1, data2) {
                    str += marker.getHeader() + marker.afterGetEcoliData(data1[0].rows);
                    str += marker.afterGetAlgaeData(data2[0].rows);
                    infoWindow.setContent(str);
                    infoWindow.open(map, marker); // changed this to marker to resolve issue
                    // render tabs UI
                    $(".tabs").tabs({ selected: 0 });

                }); // end when call
            }else{
                // Algae Only Use Case
                var d = this.getOnlyAlgaeData();
                console.log(d);
                $.when( this.getOnlyAlgaeData() ).done(function ( rsp ) {
                    //console.log(rsp);
                    str += marker.getAlgaeHeader() + marker.afterGetOnlyAlgaeData( rsp[0].rows );
                    //str += marker.afterGetOnlyAlgaeData(data2[0].rows);
                    infoWindow.setContent(str);
                    infoWindow.open(map, marker); // changed this to marker to resolve issue
                    // render tabs UI
                    $(".tabs").tabs({ selected: 0 });

                }); // end when call

            } // end inner if else
        } // end outer if else

    });   // End click event handler

getOnlyAlgaeData: function () { // begin getAlgaeData
            var obj;

            var queryURL = "https://www.googleapis.com/fusiontables/v1/query?sql=";
            var queryTail = '&key=xxxxx&callback=?';
            var whereClause = " WHERE 'Beach_ID' = " + this.beach_id;

            var query = "SELECT * FROM xxxx "

            + whereClause + " ORDER BY 'Sample_Date' DESC";

            var queryText = encodeURI(query);

            // ecoli request
            return $.ajax({
                type: "GET",
                url: queryURL + queryText + queryTail,
                cache: false,
                dataType: 'jsonp'
            });

        }, // end getAlgaeData method



        // added afterGetOnlyAlgaeData
        afterGetOnlyAlgaeData: function (data) {
            var algae_rows_str = "";
            algae_rows = data;

            var algae_rows_str = [
                  '<div id="tab-1">',
                 '<h1>' + this.beach_name + '</h1>',
                 '<h3>' + this.beach_region + '</h3>',
                 '<table id="algae_table " class="data">',
                '<tr>',

                    '<th>Sample Date</th>',
                    '<th class="centerText">Blue Green Algae Cells <br/>(cells/ mL) </th>',
                    '<th>Recreational Water Quality Objective <br/>(100,000 cells/mL)</th>',
                    '<th class="centerText">Algal Toxin Microcystin <br/> (&#956g/L)</th>',
                    '<th>Recreational Water Quality Objective <br/> (20 &#956g/L)</th>', // &mu instead of u 
                '</tr>'
            ].join('');

            //console.log(algae_rows);

            if (typeof algae_rows === 'undefined') {
                algae_rows_str = [
                     '<div id="tab-1">',
                         '<h1>' + this.beach_name + '</h1>',
                         '<h3>' + this.beach_region + '</h3>',
                        '<p>This season, no algal blooms have been reported at this beach.</p>',
                    '</div>',
                    '</div>',
                    '</div>',
                    '</div>'
                ].join('');
            } else {

                for (var i = 0; i < algae_rows.length; i++) {
                    //console.log(rows[i]);
                    //algae_rows_str += '<tr><td>' + formatDate(algae_rows[i][2]) + '</td><td class="centerText">' + checkAlgaeToxinCount(algae_rows[i][3]) + '</td><td>' + checkAlgaeToxinForAdvisory(algae_rows[i][4]) + '</td><td class="centerText">' + checkAlgaeCount(algae_rows[i][5]) + '</td><td>' + checkBlueGreenAlgaeCellsForAdvisory(algae_rows[i][6]) + '</td></tr>';
                    algae_rows_str += '<tr><td>' + formatDate(algae_rows[i][2]) + '</td><td class="centerText">' + checkAlgaeCount(algae_rows[i][5]) + '</td><td>' + checkBlueGreenAlgaeCellsForAdvisory(algae_rows[i][6]) + '</td><td class="centerText">' + checkAlgaeToxinCount(algae_rows[i][3]) + '</td><td>' + checkAlgaeToxinForAdvisory(algae_rows[i][4]) + '</td></tr>';
                }
                algae_rows_str += '</table>'
                algae_rows_str += '</div></div></div>';
                //return algae_rows_str;

            } //end if
            return algae_rows_str;

        }, // end afterGetOnlyAlgaeData



    }); // ====================end marker
//单击事件处理程序
google.maps.event.addListener(标记,'click',函数(){
var ecoli_数组=[];
var标记=这个;
var str=“”;
var beach_status;//beach_状态标志
//在ajax请求完成之前加载gif
infoWindow.setContent(“”);
信息窗口。打开(地图、标记);
//海滩关闭时替代海滩数据
beach_status=this.getBeachStatus();
beach_status=beach_status.toLowerCase();
如果(海滩_状态==‘关闭’){
str=[
''这个,海滩名称+'',
''这个,海滩地区+'',
“”+this.status\u description+”

” ].加入(“”); infoWindow.setContent(str); infoWindow.open(map,marker);//将此更改为marker以解决问题 }否则{ //链式ajax调用 if(this.displayOnlyAllegaeResults===false){ //标准用例 $.when(this.getEcoliData(),this.getAlgaeData()).done(函数(data1,data2){ str+=marker.getHeader()+marker.afterGetEcoliData(数据1[0]。行); str+=marker.afterGetAlgaeData(数据2[0]。行); infoWindow.setContent(str); infoWindow.open(map,marker);//将此更改为marker以解决问题 //渲染选项卡用户界面 $(“.tabs”).tabs({selected:0}); });//调用时结束 }否则{ //仅限藻类的用例 var d=this.getOnlyAlgaeData(); 控制台日志(d); $.when(this.getonlyagaedata()).done(函数(rsp){ //控制台日志(rsp); str+=marker.getAlgaeHeader()+marker.afterGetOnlyAlgaeData(rsp[0]。行); //str+=marker.afterGetOnlyAlgaeData(数据2[0]。行); infoWindow.setContent(str); infoWindow.open(map,marker);//将此更改为marker以解决问题 //渲染选项卡用户界面 $(“.tabs”).tabs({selected:0}); });//调用时结束 }//否则结束内部 }//如果没有,则结束外部 }); // 结束单击事件处理程序 getOnlyAlgaeData:函数(){//begin getAlgaeData var-obj; 变量queryURL=”https://www.googleapis.com/fusiontables/v1/query?sql="; var queryTail='&key=xxxxx&callback=?'; var whereClause=“WHERE'Beach\u ID'=”+this.Beach\u ID; var query=“从xxxx中选择* +其中第条+“按‘样品日期’说明订购”; var queryText=encodeURI(查询); //ecoli请求 返回$.ajax({ 键入:“获取”, url:queryURL+queryText+queryTail, cache:false, 数据类型:“jsonp” }); },//结束getAlgaeData方法 //添加了afterGetOnlyAlgaeData afterGetOnlyAlgaeData:函数(数据){ var藻类_rows_str=“”; 行=数据; var\u rows\u str=[ '', ''这个,海滩名称+'', ''这个,海滩地区+'', '', '', “样本日期”, “蓝绿藻细胞
(细胞/mL)”, “休闲用水水质目标
(100000个单元/mL)”, “藻毒素微囊藻毒素
(μg/L)”, “休闲用水水质目标(20和956g/L)”,//&mu而非u '' ].加入(“”); //控制台日志(行); 如果(行的类型==='undefined'){ 藻类_行_str=[ '', ''这个,海滩名称+'', ''这个,海滩地区+'', “本季,该海滩未出现藻类水华。”, '', '', '', '' ].加入(“”); }否则{ 对于(变量i=0;i<0行。长度;i++){ //console.log(行[i]); //藻类排[i][2])+“”+形成日期+“”+检查藻毒素计数(藻类排[i][3])+“”+检查藻毒素调查(藻类排[i][4])+“”+检查藻毒素计数(藻类排[i][5])+“”+检查蓝绿藻细胞放射性(藻类排[i][6])+“”; 藻类排[i][2])+“”+形成日期+“”+检查藻类排[i][5]+“”+检查蓝藻排[i][6]+“”+检查藻类排[i][3]+“”+检查藻类排[i][4]+“”+检查藻类排[i][4]; } 藻类_行_str+='' 藻类_行_str+=''; //返回“行”\u str; }//如果结束,则结束 返回“行”\u str; },//在GetOnlyalgaedata之后结束 }); // ====================结束标记
我基本上复制了两个相同的函数,给它们一个稍微不同的名称,并对每个函数进行了自定义,使其显示1个选项卡而不是2个,但没有得到响应


想法?

谢谢你的帮助,结果很简单

我错误地引用了答案。即,我更改以下行:
str += marker.getAlgaeHeader() + marker.afterGetOnlyAlgaeData( rsp[0].rows );
str += marker.getAlgaeHeader() + marker.afterGetOnlyAlgaeData( rsp.rows );