【问题标题】:React axios return network error on ios but not on desktopsReact axios 在 ios 上返回网络错误,但在桌面上没有
【发布时间】:2020-10-19 09:42:02
【问题描述】:

我在https://example.com 有一个带有 ssl 证书的主要 api 主机(PHP 7.4 Symfony 5.1) 还有一个位于https://my.example.com 的前端域(部署在 React 的生产版本中) 已配置 CORS,并且在域之间成功读取了 cookie。

    $response->headers->set('Access-Control-Allow-Origin', '*');
    $response->headers->set('Access-Control-Allow-Headers', '*');
    $response->headers->set('Access-Control-Allow-Methods', '*');
    $response->headers->set('Access-Control-Expose-Headers', 'X-Pagination-Total');

在桌面 (Windows/Linux) 上一切正常。在 Google Chrome、Opera 和 Mozilla Firefox 中测试。 XHR 请求使用 axios 发送。 但在 ios (12.3.1) 上出现以下错误:网络错误 - 使用代码在警报中打印:

 alert(JSON.stringify(e.toJSON()));

axios 请求示例:

axios.create({
        baseURL: `${process.env.REACT_APP_API_HOST}${process.env.REACT_APP_API_URI_PREFIX}`,
        headers: {
            'Content-Type': 'application/json',
            Accept: 'application/json',
            'X-AUTH-TOKEN': token,
            'X-DEVICE-ID': deviceId
        }
    }).get('/user')
            .then((user) => {
              //
            })
            .catch((e) => {
                // alert('and now json');
                // alert(JSON.stringify(e.toJSON()));

                setTimeout(() => {
                    this.setState({isLoading: false})
                }, 2500)
            })

【问题讨论】:

  • 您能否通过桌面 Safari 进行远程调试以从控制台获取更详细的错误消息...?

标签: javascript php reactjs apache


【解决方案1】:

已通过将 ios 更新到 14.0 版本修复。可能会通过更新到任何高于 12.3.1 的版本来修复

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 2019-05-06
    • 2019-08-09
    • 1970-01-01
    • 1970-01-01
    • 2022-11-01
    相关资源
    最近更新 更多