使用JSFiddle测试fetch API - CORS错误

时间:2018-05-14 11:10:43

标签: javascript cors cross-domain fetch jsfiddle

我正在使用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'));

1 个答案:

答案 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();