如何在客户端javascript中读取本地csv文件?

ome*_*ega 8 html javascript csv ajax jquery

我有客户端javascript,我想从本地csv文件中读取.在html代码中,我使用脚本标记导入本地javascript文件,此js文件位于另一个文件夹中.

js文件的内容

$.ajax({
    type: "GET",
    url: "./../../data/English.csv",
    dataType: "text",
    success: function(data) {
        alert("worked");
    },
    error: function (request, status, error) {
        alert(request.responseText);
    }
 });
Run Code Online (Sandbox Code Playgroud)

csv文件的路径是相对于html文件的.但是会触发错误功能.有没有办法来解决这个问题?

谢谢

Tar*_*pta 1

我在 chorme 上尝试了以下示例:

    <html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js" type="text/javascript"></script>
</head>
<body>
test this
</body>
<script>
$.ajax({
    type: "GET",
    url: "English.csv",
    dataType: "text",
    success: function(data) {
        alert("worked");
    },
    error: function (request, status, error) {
        alert(request.responseText);
    }
 });
 </script>
Run Code Online (Sandbox Code Playgroud)

我在控制台上看到以下错误:

XMLHttpRequest 无法加载文件:///C:/temp/local/English.csv。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问来源“null”。

请参阅此答案以获取更多详细信息。

如果您试图使其仅在您的开发环境中工作,那么您可以尝试使用以下命令启动 chorme:

chrome.exe --允许从文件访问文件

其他选择是尝试:

    <html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js" type="text/javascript"></script>
</head>
<body>
test this
</body>
<script>

$.ajaxPrefilter( 'script', function( options ) {
    options.crossDomain = true;
});

$.ajax({
    type: "GET",
    url: "English.csv",
    dataType: "script",
    success: function(data) {
        alert("worked");
    },
    error: function (request, status, error) {
        
        alert(error);
    }
 });

 </script>
Run Code Online (Sandbox Code Playgroud)