【问题标题】:Network Request Failed in ReactNativeReact Native 中的网络请求失败
【发布时间】:2019-09-24 08:50:20
【问题描述】:

ReactNative 的 fetch 方法在从 jordanpizza.ir 请求 API URL 或任何其他资源时导致 Network Request Failed 错误。 我在 App.js 中使用此添加代码创建了 react-native-web 项目沙箱的 fork(https://codesandbox.io/s/5vwyq4wmnp):

componentDidMount() {
    fetch("https://jordanpizza.ir/test.json").then(response => {
      console.log(response);
    });
  }

这个沙盒重现了我的问题。

注意:所有资源都可以通过 Postman 访问或在浏览器中直接请求。

【问题讨论】:

  • "Access to fetch at 'https://jordanpizza.ir/test.json' from origin 'https://l5xz62wvwl.codesandbox.io' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource." 这是cors的问题,你可以google一下如何解决
  • stackoverflow.com/questions/48445514/… 也许这对你有帮助
  • 谢谢,我会查的。你是怎么发现这个错误的? @mikheevm
  • @mikheevm 我更新了代码(codesandbox.io/s/5vwyq4wmnp);但什么都没有改变
  • 我通过检查控制台发现了这个错误 :) 关于你的代码 - 需要在服务器上设置标头,而不是在客户端上。

标签: reactjs react-native cors axios fetch


【解决方案1】:

这个问题有两个方面:

  1. @mikheevm 解决方案解决的 CORS 错误。

  2. ArvanCloud 提供的第 7 层 DDoS 保护。它阻止了我们的请求并导致重复 307 重定向,当请求被取消时结束。这个问题也是通过坚持基本的保护来解决的。

【讨论】:

    【解决方案2】:

    也试试这个。 Cors可能是你的问题

    【讨论】:

      猜你喜欢
      • 2019-01-06
      • 1970-01-01
      • 2021-04-07
      • 2020-07-23
      • 2020-04-27
      • 2019-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多