Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ReactJS:在“中获取结果”;尝试获取资源时出现网络错误。”;_Reactjs_Fetch - Fatal编程技术网

ReactJS:在“中获取结果”;尝试获取资源时出现网络错误。”;

ReactJS:在“中获取结果”;尝试获取资源时出现网络错误。”;,reactjs,fetch,Reactjs,Fetch,我正在尝试从ReactJS中的外部API获取 这是我用来获取的函数: fetch( `https://www.iban-test.de/api/check/${input}?authcode=${IBAN_TEST_API}` ) .then(data => setIbanResponse(data)) .catch(error => setIbanResponse(error)); } 当我console.log(ibanRespo

我正在尝试从ReactJS中的外部API获取

这是我用来获取的函数:

fetch(
      `https://www.iban-test.de/api/check/${input}?authcode=${IBAN_TEST_API}`
    )
      .then(data => setIbanResponse(data))
      .catch(error => setIbanResponse(error));
  }
当我
console.log(ibanResponse)
(我正在使用
Hooks
)时,我得到一个

取 '' 来自源“”已被CORS策略阻止: 对飞行前请求的响应未通过访问控制检查:否 “Access Control Allow Origin”标头出现在请求的服务器上 资源。如果不透明的响应满足您的需要,请设置请求的 模式设置为“无cors”,以获取禁用cors的资源

TypeError:获取失败

js:30跨源读取阻塞(CORB)阻塞跨源 响应 使用MIME类型application/json。看见 更多 细节

在network inspector中,我可以看到API的
200
响应,如果我从浏览器发出请求,它就可以正常工作

如何修复此提取请求

我已经试过了:

fetch(
      `https://www.iban-test.de/api/check/${input}?authcode=${IBAN_TEST_API}`,
      {
        headers: {
          "Access-Control-Allow-Origin": "*"
        }
      }
    )
      .then(data => setIbanResponse(data))
      .catch(error => setIbanResponse(error));
  }
这是:

    fetch(
      `https://www.iban-test.de/api/check/${input}?authcode=${IBAN_TEST_API}`
    )
      .then(response => response.json())
      .then(data => setIbanResponse(data))
      .catch(error => setIbanResponse(error));
  }
但它返回相同的错误


编辑:我正在对搜索同一问题的任何人编辑问题。我实施了解决方案@Matin Sasan和@sideshowbarker说,效果非常好。我必须使用代理来发出请求。

访问控制允许来源在响应上,而不是请求上。请参阅该站点仅显示了一个PHP(服务器端)示例,因此可能无法在浏览器中从JavaScript调用(不设置代理)。代理URL:将代码更改为
fetch(`https://cors-anywhere.herokuapp.com/https://www.iban-test.de/api/check/${input}?authcode=${IBAN\u test\u api}')
。有关说明,请参阅“感谢各位”部分答案中的“如何使用CORS代理解决“无访问控制允许原始标头”问题部分。在任何地方使用cors都解决了这个问题!