发送 GET 请求时未设置 CORS [关闭]

Posted

技术标签:

【中文标题】发送 GET 请求时未设置 CORS [关闭]【英文标题】:CORS not set when sending GET request [closed] 【发布时间】:2021-01-13 05:32:57 【问题描述】:

我正在创建一个 API,我希望每个网站都能够向 /log.php?a= 发送 GET 请求。 a 之后的值被记录到一个 txt 文件中。但我明白了

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://example.com/log.php/?a=dW5kZWZpbmVk. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).

这是 log.php 文件:

<?php

        header("Access-Control-Allow-Origin: *");
        header('Access-Control-Allow-Credentials: true');
$myfile = fopen("test.txt", "w");
fwrite($myfile, $_GET['a']);

?>

【问题讨论】:

将 Access-Control-Allow-Methods 设置为 * 也不起作用 看起来问题中的 URL 与错误消息中的 URL 有点不同(在错误消息中,log.php 之后有一个额外的/。你可以删除它看看会发生什么? @Niros 这很好用。谢谢。您能否将此添加为答案,以便我接受并关闭问题? 【参考方案1】:

看起来问题中的 URL 与错误消息中的 URL 有点不同(在错误消息中,log.php 之后有一个额外的 /

你能把它去掉看看会发生什么吗?

【讨论】:

以上是关于发送 GET 请求时未设置 CORS [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在从 jquery 发送 $.get 请求时启用 CORS?

我们应该在发送响应时关闭飞行前 Cors 请求的连接吗?

如何使用授权标头发出 GET CORS 请求

ReactJS 发送 GET 请求,响应 302 重定向,收到 CORS 错误

AngularJS 应用程序的 CORS GET 中未发送 HTTP 标头

在 CouchDB 上进行预检的 CORS 请求