【发布时间】:2017-09-21 14:24:12
【问题描述】:
我有一个 react native 项目,我通过 fetch() 向一个页面发送一个 http 请求,该页面将我重定向到一个 url 方案,如 appname://data=123456。
我需要从位置 url 中提取这些数据,然后继续向 api 发出其他请求。问题是ios有这个问题。 Android 很好地解决了它,它可以正常工作,但在 ios 上我得到“网络请求失败”的结果。
经过较长时间的调试,我发现 react native 背后的实现捕获了一个错误,指出“不支持的 URL”。
有什么办法可以做到这一点吗?我正在尝试使用自定义 URL 方案启动应用程序,现在写入 safari 的 appname:// 启动了我的应用程序,但它对请求没有影响。
我用于请求的代码:OAUTH2_IS_URL 是 https://login.server.com 和操作 /api/login
const postData = {username, password};
return fetch(BuildConfig.OAUTH2_IS_URL + action, {
method: 'POST',
credentials: 'same-origin',
mode: 'same-origin',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
body: Object.keys(postData).map(key => key + "=" +
encodeURIComponent(postData[key])).join('&')
});
【问题讨论】:
标签: ios http react-native