获取在 React Native ios 中不起作用

Bok*_*oky 0 react-native fetch-api react-native-ios

我在 React Native 中有登录功能,我尝试在其中获取数据。功能如下:

onLogin: function() {  //
        const self = this;
        self.setState({modalVisible: true, modalMessage: 'Signing in'});
        fetch('http://psa.autralis.com/manager/api/v1/obtain-auth-token/', {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json',
            },
            body: JSON.stringify({
                username: self.state.username,
                password: self.state.password,
            })
        })
            .then(response => response.json())
            .then(data => console.log(data))
            .catch((error) => {
                console.warn(error);
            });
    },
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,它不适用于ios。我收到一个错误:

在此处输入图片说明

在 android 上它可以工作,我用邮递员对其进行了测试,它也可以工作。

任何的想法?

小智 5

出现这个问题的原因是:iOS默认不允许http请求,只允许https。如果您需要使用 http 执行此操作,只需更改您的 info.plist:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>
Run Code Online (Sandbox Code Playgroud)