【问题标题】:Access-Control-Allow-Origin is not allowed with AjaxAjax 不允许使用 Access-Control-Allow-Origin
【发布时间】:2019-11-25 08:24:56
【问题描述】:

我需要使用 Ajax 请求从外部服务器读取 csv 文件。 Laravel 告诉我这个错误:

从源“http://dashboard.local”访问“http://localhost/CSVServer/csv/sales.csv”处的 XMLHttpRequest 已被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头。

我阅读了很多关于 CORS 的文章,但这对我不起作用。

我的 ajax 代码是:

$.get("http://localhost/CSVServer/csv/sales.csv", getDataPointsFromCSV);

function getDataPointsFromCSV(csv) {
    var csvLines = points = [];
    csvLines = csv.split(/[\r?\n|\r|\n]+/);
    for (var i = 0; i < csvLines.length; i++) {
        if (csvLines[i].length > 0) {
            points = csvLines[i].split(",");
            dataPoints.push({
                label: points[0],
                y: parseFloat(points[1])
            });
        }
    }
    chart.render();
}


【问题讨论】:

  • 您需要在外部服务器上启用cors。

标签: laravel laravel-5.8


【解决方案1】:
$.ajax({
    url: "http://localhost/CSVServer/csv/sales.csv",
    headers: {"Access-Control-Allow-Origin": "*"}
});

这是一个使用 Allow-Origin 标头来避免 CORS 问题的获取请求。

因为我看到您的文件是 csv,所以您可能需要:

Accept: text/csv

【讨论】:

    猜你喜欢
    • 2013-03-10
    • 2015-06-17
    • 2013-09-09
    • 2012-03-08
    • 2012-06-07
    • 2011-11-05
    相关资源
    最近更新 更多