访问静态文件时出现跨域请求错误

Posted

技术标签:

【中文标题】访问静态文件时出现跨域请求错误【英文标题】:Cross-Origin Request error when accessing static files 【发布时间】:2020-10-14 08:28:39 【问题描述】:

我想通过 api 读取一个 pdf 文件,但它给了我这个错误:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).

这是我的 cors.php

<?php

return [

    'paths' => ['*'],

    'allowed_methods' => ['*'],

    'allowed_origins' => ['*'],

    'allowed_origins_patterns' => [],

    'allowed_headers' => ['*'],

    'exposed_headers' => false,

    'max_age' => false,

    'supports_credentials' => false,

];

Cors 会在这种情况下帮助我吗,或者存储链接文件夹是否需要一些其他配置才能正常工作? 我该如何解决这个错误?

【问题讨论】:

希望对您有所帮助? ***.com/questions/34748981/… 不,它没有。还是一样的错误 【参考方案1】:
Reason: CORS header ‘Access-Control-Allow-Origin’ missing

这说明了大部分。您没有从服务器传递 标头。如果您有权访问 API(如果您可以修改其代码),请在发送任何输出请求之前从 API 发送此标头。

header('Access-Control-Allow-Origin : *')
// change this for other methods that you allow to be exposed
header('Access-Control-Allow-Methods : GET, POST')

【讨论】:

它不起作用,我尝试在返回其数据之前将其添加到 api 函数中。但它没有用。那是我应该放的地方吗 您可以尝试在收到请求时添加它,这样当您随时发送结果时,该标头已经存在于结果中。

以上是关于访问静态文件时出现跨域请求错误的主要内容,如果未能解决你的问题,请参考以下文章

使用 .getJSON 获取 Play 商店应用详细信息时出现跨域阻止请求 [CORS] 错误

跨域问题和django中实现跨域

将应用程序移动到子域时出现跨域安全错误 (2018)

在electron中实现跨域请求

本地数据访问时出现跨域问题Cross origin requests are only supported for protocol schemes: ……

Vue 中dev上实现跨域请求