首页 > 解决方案 > 从 Javascript 中的 url 获取 JSON 文件,React Native

问题描述

我从 url 获取 JSON 数据时遇到问题。如果您能帮我解决这个问题,我将不胜感激。

我想从 firebase 存储中获取 JSON 数据,但有些我做不到,所以我简化了代码,现在它真的很简单,但没有运气。我也在这个社区搜索了错误的原因,但没有找到。

这是我的代码。

import React, { Component } from 'react';
import { View, Text, StyleSheet, TouchableOpacity } from 'react-native';

export default class App extends Component {
  render() {
    return (
      <View>
        <TouchableOpacity onPress={this.handleOnPress}>
          <Text>test</Text>
        </TouchableOpacity>
      </View>
    );
  }
  handleOnPress = () => {
    console.log('test was clicked');
    fetch('https://facebook.github.io/react-native/movies.json')
      .then(response => response.json())
      .then(data => console.log(data))
      .catch(error => console.error(error));
  };
}

不用说,显示“测试已单击”消息没有任何问题

错误信息

Error: "Failed to fetch" in TypeError: Failed to fetch ...

我使用 Expo Snack,网络编译器。

谢谢你。

标签: javascriptreact-nativefetchtypeerror

解决方案


是 Failed to fetch 之前的错误: Access to fetch at 'https://facebook.github.io/react-native/movies.json' from origin 'XXX' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

如果是这样,这是一个CORS问题。

如果没有,请随时发布您看到的任何其他信息。我确信记录的错误一定多于 - 获取失败。


推荐阅读