Javascript js数据从csv转换为特定格式,加载csv时出错
我有一个csv文件:Javascript js数据从csv转换为特定格式,加载csv时出错,javascript,csv,d3.js,Javascript,Csv,D3.js,我有一个csv文件: title,number1,number2 M,12,22 T,17,27 W,7,17 T,17,27 F,23,33 我想在我的js文件中用这种格式写一些东西,因为程序的其余部分使用这种格式的数据。很难修改所有代码。我更喜欢csv转换 dataDailySalesChart = { labels: ['M', 'T', 'W', 'T', 'F'], series: [ [12, 17, 7, 17, 23],
title,number1,number2
M,12,22
T,17,27
W,7,17
T,17,27
F,23,33
我想在我的js文件中用这种格式写一些东西,因为程序的其余部分使用这种格式的数据。很难修改所有代码。我更喜欢csv转换
dataDailySalesChart = {
labels: ['M', 'T', 'W', 'T', 'F'],
series: [
[12, 17, 7, 17, 23],
[22, 27, 17, 27, 33]
]
};
我尝试了此代码,但无效:
$(document).ready(function() {
$.ajax({
type: "GET",
url: "test.csv",
dataType: "text",
success: function(data) {processData(data);}
});
});
function processData(allText) {
var allTextLines = allText.split(/\r\n|\n/);
var headers = allTextLines[0].split(',');
var serie1 = allTextLines[1].split(',');
var serie2 = allTextLines[2].split(',');
var seriesTest = [serie1,serie2];
dataDailySalesChart = {
labels: headers,
series: seriesTest
};
}
但我有一个错误:
jquery-3.1.0.min.js:4 XMLHttpRequest cannot load file: test.csv. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https
你知道我为什么会犯这个错误吗
$.ajax({
type: "GET",
// This is causing the error: test.csv is not a valid url
url: "test.csv",
dataType: "text",
success: function(data) {processData(data);}
});
您尝试从何处加载csv文件?test.csv不是ajax请求的有效url。您可以从页面加载的同一域/path/to/test.csv请求,也可以从其他域请求,例如https://somedomain.com/path/to/test.csv使用Papa Parse@ArvindDhakad为什么要这样做?这个问题被标记为[d3.js],它有自己的方法来解析DSV内容。因为我想使用d3js重新使用代码,而不是数据。数据直接写入js文件,如dataDailySalesChart。我想要相同的报告,但在我的csv中使用数据。要更加灵活。任何人都可以更改csv,但不能更改js。我认为只更改这一部分比较容易,而不是所有使用dataDailySalesChart@altocumulus显然DSV在那里,他可以用它。Papa Parse是另一种选择。很抱歉,我不明白DSV是什么。我真的很抱歉,我说过它不适用于url:/Projet/dashboard1/donnees/test.csv。它应该可以工作吗?我已经在下面的问题下发表了评论:您正在本地执行HTML。这意味着没有正在运行的Web服务器。不能使用ajax从本地文件系统读取。您的网页需要在Web服务器上运行才能以这种方式工作。好的,我将尝试找到另一种方式。。。谢谢从磁盘读取本地文件以在脚本中使用它的唯一方法是让用户通过手动选择。