我使用PapaParse将JavaScript文件用于我的CSV文件。我可以使用CSV文件from this website和using this link,这是第5个文件。使用此链接,一切都很好。
当我下载此文件然后将其上传到github或我的某个网站然后使用该链接时,会出现问题。所以基本上,如果我使用托管在不同站点上的相同文件,解析器就不起作用。知道为什么吗?
更新
Rawgit确实适用于github.com文件,但我似乎无法解析我网站上的CSV文件。它只是一个链接,所以我不知道它为什么不起作用。思考?
此外,上面的第一个链接来自github.io。为什么github.io上的CSV文件工作而不是来自github.com或我的网站的文件?
document.getElementById('submit').addEventListener("click", function() {
checkLogin();
});
function checkLogin() {
/* DOESN'T WORK */
// "https://github.com/dhust/test/blob/master/Formaldehyde.csv"
// "http://csfor.us/cs1/wp-content/uploads/2017/06/Formaldehyde.csv"
/* WORKS */
// "https://vincentarelbundock.github.io/Rdatasets/csv/datasets/Formaldehyde.csv"
Papa.parse("https://vincentarelbundock.github.io/Rdatasets/csv/datasets/Formaldehyde.csv", {
download: true,
complete: function(results) {
document.getElementById("output").innerHTML = results.data;
console.log(results.data);
}
});
}

<script src="https://cdn.rawgit.com/mholt/PapaParse/3bf63f0a/papaparse.min.js"></script>
<input id="submit" type="button" value="Submit" />
<p id="output"></p>
&#13;
答案 0 :(得分:1)
Github不允许直接下载这样的文件(参见https://stackoverflow.com/a/4605068/320546)。
另外请注意,您的Javascript控制台会有类似
的内容 XMLHttpRequest cannot load https://github.com/dhust/test/blob/master/Formaldehyde.csv. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://fiddle.jshell.net' is therefore not allowed access.
但是,如果你使用RawGit,你可以获得一个应该有效的链接,而且在JSFiddle上看起来确实没问题
答案 1 :(得分:0)
感谢palfrey带领我朝着正确的方向前进。这就解决了我的问题:
将此添加到每个网站的根文件夹中的.htaccess文件
Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"