2016-11-24 101 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问题应该在教程的前面和中心,而不是你必须挖掘的脚注。 解决方法是将prehost localhost:8889添加到您的jQuery $.getJSON()请求中。

所以这个:

"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"