2016-11-24 11 views
1

私はこのチュートリアルを手がけている完全なTableau初心者です。私はgetJSON()リクエストを作成し、スクリプトがハングアップして返ることはありません。私は間違って何をしていますか?ブラウザでリンクをテストしたところ、応答はすぐに返されるため、速度の問題ではありません。Tableau JSONリクエストが機能しない

(function() { 
var myConnector = tableau.makeConnector(); 

myConnector.getSchema = function (schemaCallback) { 
    var cols = [ 
     {id: "mag", alias: "magnitude", dataType: tableau.dataTypeEnum.float}, 
     {id: "title", alias: "title", dataType: tableau.dataTypeEnum.string}, 
     {id: "url", alias: "url", dataType: tableau.dataTypeEnum.string}, 
     {id: "lat", alias: "latitude", columnRole: "dimension", dataType: tableau.dataTypeEnum.float}, 
     {id: "lon", alias: "longitude", columnRole: "dimension", dataType: tableau.dataTypeEnum.float} 
    ]; 

    var tableInfo = { 
     id: "earthquakeFeed", 
     alias: "Significant Earthquakes in the last seven days", 
     columns: cols 
    }; 

    schemaCallback([tableInfo]); 
    //tableau.log("Hello WDC!"); 
}; 

myConnector.getData = function (table, doneCallback) { 
    $.getJSON("http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/4.5_week.geojson", function (resp) { 
     var feat = resp.features, 
       tableData = []; 

     // Iterate over the JSON object 
     for (var i = 0, len = feat.length; i < len; i++) { 
      tableData.push({ 
       "id": feat[i].id, 
       "mag": feat[i].properties.mag, 
       "title": feat[i].properties.title, 
       "lon": feat[i].geometry.coordinates[0], 
       "lat": feat[i].geometry.coordinates[1] 
      }); 
     } 

     table.appendRows(tableData); 
     doneCallback(); 
    }); 
}; 


tableau.registerConnector(myConnector); 
$(document).ready(function() { 
    $("#submitButton").click(function() { 
     tableau.connectionName = "Stock Data for "; 
     tableau.connectionData = "tickerSymbol"; 
     tableau.submit(); 
    }); 
});})(); 

答えて

0

私は真の新人です。私はCORSの問題がありました

0

同じ問題が発生しました。 npm startの出力には、プロキシサーバーに関する記述がありますが、あまり役に立ちません。 CORSの問題は、あなたが掘り下げなければならない脚注ではなく、チュートリアルのフロントと中央になければなりません。 解決策は、jQuery $.getJSON()リクエストにlocalhost:8889を追加することです。

ので、この:

"http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/4.5_week.geojson"

はこのようになります。 "http://localhost:8889/earthquake.usgs.gov/earthquakes/feed/v1.0/summary/4.5_week.geojson"

関連する問題