1

我使用https://github.com/evanplaice/jquery-csv加載csv文件。一切正常,直到我嘗試重新加載.csv文件並將新數據加載到GeoCharts中。我知道重新加載文件時遇到問題,但如何處理它?下面是示例代碼:CSV文件不能重新加載(Google GeoCharts)

function load(file, colorForSex){ 

    var region = $('select[name="region"] option:selected').val(); 

    setTimeout(1000); 

    $.get(file, function(data) { 

     var newData = $.csv.toArrays(data); 

     var j = 1; 

     for (var i = 1; i < newData.length; i++) { 
      newData[i][j] = parseFloat(newData[i][j]); 
     } 

    }, 'text'); 

    console.log(newData[1][1]); 


    setTimeout(1000); 

    var data = google.visualization.arrayToDataTable(newData); 

    var options = { 
     region: region, 
     backgroundColor: 'none', 
     chartArea: { width: '100%', height: '100%' }, 
     colorAxis: {colors: ['#ddd', colorForSex]}, 
     datalessRegionColor: 'white', 
     legend: { 
      numberFormat: '.##', 
      textStyle: { 
       fontName: 'Verdana', 
       color: '#ff1a1a', 
       fontSize: 14 
      } 
     } 
    }; 

    setTimeout(1000); 


    chart.draw(data, options); 
} 
+1

爲什麼你有兩個電話到[setTimeout](https://www.w3schools.com/jsref/met_win_settimeout.asp)?如果你使用它來暫停代碼,我不認爲它是這樣。 –

+0

我認爲這是一個加載錯誤或某事。 –

回答

0

您可以只添加到文件的一些參數緩存禁用

取代: $.get(file, function(data) {

到: var d = new Date(); $.get(file + '?' + d.getTime(), function(data) {

1

需要包括其餘$.get函數中的圖表代碼

$.get異步

因爲如此,後$.get功能運行$.get函數完成

看到下面的代碼片段代碼......

function loadData(file, colorForSex){ 
    var region = $('select[name="region"] option:selected').val(); 
    var file = file + '?q=' + Math.random(); 
    $.get(file, function(data) { 
    var processedData = $.csv.toArrays(data); 
    var j = 1; 
    for (var i = 1; i < processedData.length; i++) { 
     processedData[i][j] = parseFloat(processedData[i][j]); 
    } 

    var data = google.visualization.arrayToDataTable(processedData); 

    var options = { 
     region: region, 
     backgroundColor: 'none', 
     chartArea: { width: '100%', height: '100%' }, 
     colorAxis: {colors: ['#ddd', colorForSex]}, 
     datalessRegionColor: 'white', 
     legend: { 
     numberFormat: '.##', 
     textStyle: { 
      fontName: 'Verdana', 
      color: '#ff1a1a', 
      fontSize: 14 
     } 
     } 
    }; 

    chart.draw(data, options); 
    }, 'text'); 
} 
+0

希望這可以幫助... – WhiteHat