我正在使用JSFiddle使用fetch API进行一些测试,但我每次都会收到CORS原点块。
有没有办法绕过它?我提取的服务器是localhost,我应该做些什么来接受JSFiddle的请求,还是有一种更简单的方法来触及我的服务器配置?
以下是一个例子:
async function getText(url) {
try{
var response = await fetch(url);
var txt = await response.text();
return txt;
}
catch(e){
console.log('there was an error');
console.log(e);
}
}
alert(getText('https://www.vim.org/git.php'));
答案 0 :(得分:1)
是的,有办法 - 您需要在服务器上允许CORS
另一种方法:如果您不能在第三方服务器上允许CORS,您可以编写自己的CORS-ON-SERVER(代理),它将与第三方服务器连接并从中发送/接收数据。
第三种方法:您可以使用一些现有的cors-proxy serwer,例如this并使用它 - 例如 - 更改行:
alert(getText('https://www.vim.org/git.php'));
到
async function run() {
let result = await getText('https://cors-anywhere.herokuapp.com/https://www.vim.org/git.php');
alert(result);
}
run();