-1

2番目のajaxリクエストから応答がありません。私は特定の条件がそれ以外の場合、私は2つのタブを表示する必要がありますが一致したときに、単一のタブだけを含むGoogleマップ上にGoogleの情報ウィンドウを表示しようとしています。私は、調整された振る舞いを持つ別のマーカー関数でこれを簡単に実装できると思っていましたが、私は応答を受けません。これについての助けは常に高く評価されます。前もって感謝します。2番目の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 

私は基本的に働く二つの同一の機能をコピーしたが、それらにわずかに異なる名前を与え、代わりに2の1つのタブを表示するには、各機能をカスタマイズし、私は応答がありません。

思考?

+0

「私は応答がありません」とは何ですか?アヤックスのリクエスト?それをコードの残りの部分から分けてデバッグしてください。 –

+0

それは$ .whenコールの中で呼び出されました – Michael

+0

はい、私はそれを理解しています。最初のステップを踏んで、応答が空である理由を理解してください。 (または少なくとも論理エラーだけでなく、それが実際に空であることを確認する) –

答えて

0

助けてくれてありがとう、それは何か単純なことに終わった。

私は応答を間違って参照していました。つまり

str += marker.getAlgaeHeader() + marker.afterGetOnlyAlgaeData(rsp.rows); 

もぉに

str += marker.getAlgaeHeader() + marker.afterGetOnlyAlgaeData(rsp[0].rows); 

:私は、次の行を変更します!

関連する問題