我使用两个获取函数,一个用于登录,另一个从我的 API 获取数据。
登录工作正常,但第二次获取在 ios 中引发错误。它在安卓上运行良好
未从 ios 发送授权 header
这是我的代码:
import { Alert } from 'react-native';
import { rootUrl } from './index';
import { translate } from '../../config/translation';
import store from './../store';
import NavigatorService from '../../config/navigator';
export default function fetchTree(Authorization) {
fetch(`${rootUrl}/tree`, {
method: 'GET',
headers: {
Authorization,
'Content-Type': 'application/json',
},
})
.then((response) => {
console.log(response);
store.dispatch({ type: 'loading', payload: false });
if (response.status !== 200) {
Alert.alert(
translate('Access Denied'),
translate('You are not Authorized to view this content'),
[{ text: translate('OK') }],
{
cancelable: false,
},
);
return 0;
}
return response.json();
})
.then((responseJson) => {
if (responseJson !== 0) {
const tree = responseJson[0].tree;
NavigatorService.reset('Home', { tree });
}
});
}
这是我从服务器得到的响应:
解决方案:
URL 需要尾随/
所以应该是
${rootUrl}/tree/
而不是 ${rootUrl}/tree
最佳答案
基于 react 原生
documentation
获取 将适用于 IOS 和 Android
所以我不认为 fetch 的错误我认为还有另一个错误
您是否在 中添加了网络权限? info.plist
关于react-native - 在ios中获取不发送授权 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47898844/