无法使用react-native

时间:2015-05-26 05:49:40

标签: javascript reactjs react-native

我有一个在本地运行的VM,它是使用Vagrant构建的。我可以直接从浏览器卷曲并转到URL。出于某种原因,当我使用fetch API在我的react-native应用中进行相同的调用时,它会不断向我发出Network request failed错误。

以下是代码片段:

fetchData() {

  this.setState({ isLoading: true });

  var baseURL = 'https://192.168.33.33/api/session';

  console.log('URL: >>> ' + baseURL);

  fetch(baseURL)
  .then((response) => response.json())
  .then((responseData) => {
    console.log(responseData);
  })
  .catch(error => {
    console.log(error);
  })
  .done();
}

baseURL日志返回正确的URL,错误如下:

URL: >>> http://192.168.33.33/api/session
TypeError: Network request failed {stack: (...), message: "Network request failed"}
  message: "Network request failed"
  stack: (...)
  get stack: function () { [native code] }
  set stack: function () { [native code] }
  __proto__: Error

我认为我的应用程序无法以某种方式访问​​我的虚拟机可能会出现问题,所以我继续将其部署到真实的服务器上,它仍然会出现同样的错误。

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

找到问题并解决了。

问题是由API服务器中的自签名证书引起的,没有自己创建的CA.

我可以尝试创建自己的CA然后从中创建证书,但我继续并获得了廉价的真正SSL证书。这解决了这个问题。

答案 1 :(得分:-1)

我认为您可能面临same origin policy约束。

many种解决方法。