React 本机 Axios 发布请求适用于 iOS 模拟器,但不适用于物理手机
Posted
技术标签:
【中文标题】React 本机 Axios 发布请求适用于 iOS 模拟器,但不适用于物理手机【英文标题】:React native Axios post request works in iOS simulator but not physical phone 【发布时间】:2021-12-15 19:37:19 【问题描述】:目前在客户端添加注册请求
const email, password = params;
console.log(params);
const response = await axios.post('http://localhost:8080/api/v1/auth/register', email: email, password: password );
适用于模拟器但不适用于 iPhone。这可能是什么原因?该请求也适用于邮递员
【问题讨论】:
你是如何在实际 iPhone 上运行 Web 服务器的? 您可以尝试在您的 Infoplist 文件 ***.com/a/40047949/7956161 中启用 NSAllowsLocalNetworking 手机是否连接到网络服务器正在运行的同一网络? 【参考方案1】:您可以将您的网络服务器配置为在网络内可访问的 IP 上运行,或者您可以使用ngrok 之类的工具将您的网络服务器公开到互联网(尽管这会产生安全风险)。
您还需要确保您没有使用 localhost
作为 API 基本 URL,否则您的手机会尝试将请求发送给自己并失败。
【讨论】:
感谢您的提示!这对我有用以上是关于React 本机 Axios 发布请求适用于 iOS 模拟器,但不适用于物理手机的主要内容,如果未能解决你的问题,请参考以下文章
MacOs 和 iOs 上 Safari 的 React 和 Axios GET 请求问题
POST 请求适用于 Postman,但不适用于 axios.post()