CORS 阻止 javascript 同源获取请求
CORS blocking javascript fetch request with same origin
我制作了一个 javascript 应用程序,它在页面加载时获取 JSON 文件。一切对我和大多数用户来说都很好。但对于某些人来说,提取请求被 CORS 阻止,因为 'Access-Control-Allow-Origin' header 的值不等于提供的来源。
你可以在这里试试:https://limeshark.dev/editor
我的fetch
请求:
var t = await fetch('https://limeshark.dev/t/', {method: 'GET'});
(我在另一个页面上提出相同的请求(即 https://limeshark.dev/editor/Neutron)但没有人报告此问题)
这是我的快递header
app.use(function(req, res, next) {
res.setHeader('Access-Control-Allow-Origin', 'https://limeshark.dev/');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST');
res.setHeader('Access-Control-Allow-Headers', 'Origin, X-Requested-With, content-type, Access-Control-Allow-Origin');
res.setHeader('Access-Control-Allow-Credentials', true);
next();
});
这是我的 nginx 配置
add_header 'Access-Control-Allow-Origin' 'https://limeshark.dev/';
add_header 'Access-Control-Allow-Methods' 'GET, POST';
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
当然我注意到错误中的原点 'https://limeshark.dev' 与 header 值 'https://limeshark.dev/' 不同,但我不知道为什么
提前谢谢你:)
按照 Nick 的建议,使用相对路径发出请求解决了问题
var t = await fetch('/t', {method: 'GET'});
我不能'comment'但尼克的回答解决了我的问题!
Hoodathunk 切换 URL 将摆脱可怕的 CORS 问题...
我制作了一个 javascript 应用程序,它在页面加载时获取 JSON 文件。一切对我和大多数用户来说都很好。但对于某些人来说,提取请求被 CORS 阻止,因为 'Access-Control-Allow-Origin' header 的值不等于提供的来源。
你可以在这里试试:https://limeshark.dev/editor
我的fetch
请求:
var t = await fetch('https://limeshark.dev/t/', {method: 'GET'});
(我在另一个页面上提出相同的请求(即 https://limeshark.dev/editor/Neutron)但没有人报告此问题)
这是我的快递header
app.use(function(req, res, next) {
res.setHeader('Access-Control-Allow-Origin', 'https://limeshark.dev/');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST');
res.setHeader('Access-Control-Allow-Headers', 'Origin, X-Requested-With, content-type, Access-Control-Allow-Origin');
res.setHeader('Access-Control-Allow-Credentials', true);
next();
});
这是我的 nginx 配置
add_header 'Access-Control-Allow-Origin' 'https://limeshark.dev/';
add_header 'Access-Control-Allow-Methods' 'GET, POST';
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
当然我注意到错误中的原点 'https://limeshark.dev' 与 header 值 'https://limeshark.dev/' 不同,但我不知道为什么
提前谢谢你:)
按照 Nick 的建议,使用相对路径发出请求解决了问题
var t = await fetch('/t', {method: 'GET'});
我不能'comment'但尼克的回答解决了我的问题!
Hoodathunk 切换 URL 将摆脱可怕的 CORS 问题...