react-native - 使用相对 URL 的 fetch() 在 React Native 上失败
问题描述
如果我尝试以下代码(React Native 应用程序,Expo)
fetch('/public/test.txt').then(function(response) {
console.log(response);
});
我收到“网络请求失败”错误。但是,如果我预先添加主机:端口(' http://localhost:3000/public/test.txt '),它就可以正常工作。不支持相对 URL?
解决方案
在 React Native 中,不支持相对 URL。请求 url 必须是绝对 url。如果您只想使用一个基本 url,一种方法是创建一个具有“BASE_URL”变量的配置文件,例如。' http://192.168.4.101:3000 '。(192.168.4.101 是您的计算机 IP 地址)。之后,导入配置文件并编写如下内容:
fetch( config.BASE_URL+ '/public/test.txt' )
推荐阅读
- neural-network - 神经网络 - 每个元素多列(Pytorch)
- python - NCBIblastP 命令行错误
- sms - Twilio 消息段
- javascript - 在 html 表的下一个 td 中显示选定的选项
- angular - 如何像普通引导选项卡一样隐藏 MDB 引导选项卡中的底部边框/表格边框
- c# - .NET 应用程序找不到使用 wine 和 mono 的注册表项
- c# - 使用 .net 传真对象将传真发送到正确的传真服务器,无法发送封面注释
- php - 将 jquery 变量传递给引导模式选择
- javascript - 从文本字段导出值到 javascript(DOM 问题)!
- ajax - Laravel、Ajax 和 BS3 可解除警报