Django,React-Native连接网络请求失败

bttbmeg0  于 2022-12-14  发布在  React
关注(0)|答案(2)|浏览(98)

我正在开发一个基于react-native的移动的应用程序,并在后台使用python进行一些操作。我想同时进行这些事务,并通过Django rest API连接到数据库。但是我遇到了连接错误。我已经使用过其他rest api并尝试过了。我还在postman上尝试了rest api,它运行得很顺利。我尝试了所有的方法,但是我找不到解决方案。x1c 0d1x
本地rest URL:http://localhost:8000/api/venues/

和获取代码:

componentDidMount() {
    return fetch('http://localhost:8000/api/venues/?format=json')
    .then((response) => response.json())
    .then((responseJson) => {
      console.log(responseJson);

      this.setState({
        isLoading: false,
        dataSource: responseJson,
      }, function(){

      });

    })
    .catch((error) =>{
      console.error(error);
    });
  }

还有我的django设置:

wyyhbhjk

wyyhbhjk1#

CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_WHITELIST = [
    'http://localhost:3030',
]
CORS_ORIGIN_REGEX_WHITELIST = [
    'http://localhost:3030',
]

在添加cors作为中间件后添加这些配置(更改端口号)

yptwkmov

yptwkmov2#

https://stackoverflow.com/a/69186898/12497001提供了一个非常好的答案!
如Android Studio文档中所述,模拟器使用特殊地址网络(https://developer.android.com/studio/run/emulator-networking.html)。
要将请求寻址到您自己的计算机,可以使用地址http://10.0.2.2

相关问题