fetch函数在获取php页面时返回CORS错误



我正在做一个ReactJs应用程序,它以这种方式使用函数fetch:

我的服务器上有一个php页面,它正在打印一个随机报价,我想从同一服务器上托管的React应用程序中获取这个报价。但它发生得很奇怪,我会解释:

1( 从我的电脑:CCD_ 1将按预期工作,如果我删除https://cors-anywhere.herokuapp.com/部分,它将不起作用(不知道为什么(

2( 即使使用https://cors-anywhere.herokuapp.com/部分,我使用npm run build构建的服务器上的完全相同的应用程序也根本无法工作。。。

"不会工作"意味着我得到这个错误:

(索引(:1访问'http://www.MYURL.com/actionv/API/aov_API.php'(重定向自'https://cors-anywhere.herokuapp.com/http://www.MYURL.com/actionv/API/aov_API.php'(来源'http://www.MYURL.com'已被CORS策略阻止:否请求的上存在"Access Control Allow Origin"标头资源如果不透明的响应符合您的需求,请设置请求的模式设置为"no cors"以在禁用cors的情况下获取资源。App.js:8获取http://www.MYURL.com/actionv/API/aov_API.phpnet::ERR_FAILEDasyncToGenerator.js:6未捕获(承诺中(类型错误:无法获取

完整功能:

function App(){
async function updateQuote(type){
let newText = await fetch("https://cors-anywhere.herokuapp.com/http://www.MYURL.com/actionv/API/aov_API.php");
let msg = await newText.text();
console.log(msg);
setQuoteText(JSON.stringify(msg));
}

在这里,我发现您需要在.php文件的顶部添加以下内容:

header('Access-Control-Allow-Origin: *');

它允许从同一来源提取

(感谢ADyson的链接(

如果有人认为这是安全问题,请告诉我!感谢

最新更新