2016-03-02 220 views
0

我正在閱讀csv文件通過使用ajax調用加載我得到的結果在Mozilla中,但相同的鏈接,如果我在鉻中執行我得到一個錯誤「XMLHttpRequest無法加載文件:/// home/scriplogix7/Downloads/csv-text-file-uploader/data.csv。只有協議方案支持跨源請求:http,data,chrome-extension,https,chrome-extension-resource。所以我怎麼能在鉻中處理這個錯誤。通過使用jquery csv文件讀取

我的代碼是。

$(document).ready(function() { 
    // AJAX in the data file 
    $.ajax({ 
     type: "GET", 
     url: "data.csv", 
     dataType: "text", 
     success: function(data) { 
      processData(data); 
     } 
    }); 

    // Let's process the data from the data file 
    function processData(data) { 
     var table = $("<table />"); 
     var rows = data.split(/\r\n|\n/); 
     for (var i = 1; i < rows.length - 1; i++) { 
      var row = $("<tr />"); 
      var cells = rows[i].split(","); 
      for (var j = 0; j < rows.length; j++) { 
       var cell = $("<td />"); 
       cell.html(cells[j]); 
       row.append(cell); 
      } 
      var usedNames = {}; 
      $("select[name='company1'] > option").each(function() { 
       if (usedNames[this.text]) { 
        $(this).remove(); 
       } else { 
        usedNames[this.text] = this.value; 
       } 
      }); 
      $("select[name='company2'] > option").each(function() { 
       if (usedNames[this.text]) { 
        $(this).remove(); 
       } else { 
        usedNames[this.text] = this.value; 
       } 
      }); 
      $("select[name='company3'] > option").each(function() { 
       if (usedNames[this.text]) { 
        $(this).remove(); 
       } else { 
        usedNames[this.text] = this.value; 
       } 
      }); 
      $("#region").append("<option value =1> " + cells[0] + " </option>"); 
      $("#state").append("<option value =1> " + cells[1] + "</option>"); 
      $("#accname").append("<option value =1>" + cells[2] + "</option>"); 
      table.append(row); 
     } 
    } 
}); 
+0

您可以搜索錯誤味精像[這裏](http://stackoverflow.com/search?q=XMLHttpRequest+cannot+負載+跨+原點+請求+是+僅支持+ + +爲​​+協議方案%3A + HTTP%2C +數據%2C +鉻擴展%2C +)。 – RRK

回答

0

加入溶液

$("#filename").change(function(e) { 
 
var fileName = $("input#filename").val().split(".").pop().toLowerCase(); 
 

 
if($.inArray(fileName, ["csv"]) == -1) { 
 
alert('Not a csv file, please try to upload a csv file.'); 
 
return false; 
 
} 
 
    
 
if (e.target.files != undefined) { 
 
var filereader = new FileReader(); 
 
filereader.onload = function(e) { 
 
\t var csvSplitter=e.target.result.split("\n"); //add your separator 
 
\t var csvVal=csvSplitter[0].split(","); 
 
\t var data=""; 
 
\t for(var i=0;i<csvVal.length;i++) 
 
\t { 
 
\t \t var temp=csvVal[i]; 
 
\t \t data=data+" "+temp; 
 
\t } 
 
\t $("#div").html(data); 
 
}; 
 
filereader.readAsText(e.target.files.item(0)); 
 

 
} 
 

 
return false; 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="file" name="filename" id="filename"> 
 
    <div id="div"></div>