我使用我在外部托管的 Django python 框架创建了一个 API 端点。我可以从浏览器( mydomain.com/endpoint/
)访问我的端点并验证没有错误。当我在我的开发机器上本地运行我的测试 django 服务器时也是如此( localhost:8000/endpoint/
)。当我使用本地主机作为端点时,我的 json 数据可以毫无问题地通过。当我使用我的生产域时,axios 遇到网络错误,并且它提供的上下文并不多……从调试控制台我得到这个:
Error: Network Error
at createError (createError.js:16)
at XMLHttpRequest.handleError (xhr.js:87)
at XMLHttpRequest.dispatchEvent (event-target.js:172)
at XMLHttpRequest.setReadyState (XMLHttpRequest.js:554)
at XMLHttpRequest.__didCompleteResponse (XMLHttpRequest.js:387)
at XMLHttpRequest.js:493
at RCTDeviceEventEmitter.emit (EventEmitter.js:181)
at MessageQueue.__callFunction (MessageQueue.js:353)
at MessageQueue.js:118
at MessageQueue.__guardSafe (MessageQueue.js:316)
这是我在反应原生组件中的 axios 调用:
componentDidMount() {
axios.get('mydomain.com/get/').then(response => { // localhost:8000/get works
this.setState({foo:response.data});
}).catch(error => {
console.log(error);
});
}
原文由 smilebomb 发布,翻译遵循 CC BY-SA 4.0 许可协议
似乎未加密的网络请求在iOS中默认被阻止,即
https
会工作,http
不会。从文档: