反应本机:缓存控制:“最大年龄= 0,专用,必须重新验证”?

时间:2019-05-09 15:07:47

标签: react-native http-headers cache-control

这是什么!

我目前正在编写一个React-Native(init)应用程序,并且正在设置推送通知。

我在获取设备令牌时遇到了麻烦,但是现在已经对它进行了排序,并且正在获取它,但是遇到了另一个意外问题,这是我之前从未见过且真的没有见过的问题知道该怎么做,或在哪里做。

我正在进行一个相当糟糕的标准API调用,该调用将设备令牌发送回我的服务器,但是它无声地失败了。我挖了它,然后注销了FETCH的响应,其中指出“ 电子邮件或密码不正确”,这在我登录时很奇怪。

进一步挖掘,标题似乎显示出罪魁祸首是cache-control "max-age=0, private, must-revalidate",但我不知道如何解决此问题。

我已经在网上搜索了,所有内容都涉及浏览器缓存,但是我使用的是React-Native!

很抱歉提出这个宽松的问题,但这不是我以前见过的更好地表达它的东西。

任何帮助解决这个问题的方法都会很有帮助。


在生成令牌后从通知中调用我的API

API.editUserData(8, {
    device_token: registrationToken.token,
    phone_type: registrationToken.os
})
    .then((response) => {
        console.log('onRegister response: ', response);
    })
    .catch((error) => {
        console.log('onRegister error: ', error);
    })

我的API,用于将令牌发送到服务器

editUserData(userId, data) {
        return put(`users/${userId}`, {user: data});
    },

function put(path, body, noAuth) {
    return addRecord(path, body, noAuth, 'PUT');
}

function addRecord(path, body, noAuth, method) {
    return fetch(url + path, {
        method,
        headers: getHeaders(noAuth),
        body: JSON.stringify(body),
    })
    .then((response) => response.json())
        .then((responseJson) => {
            userEmail = responseJson.email;
            userToken = responseJson.token;

            console.log('API addRecord: ', responseJson);

            return responseJson;
        })
        .catch((error) => {
            console.log('API addRecord - error: ', error);
        });
}

function getHeaders(noAuth) {
    if (noAuth) {
        return {
            'Accept': 'application/json',
            'Content-Type': 'application/json',
        };
    }
    else {
        return {
            'Accept': 'application/json',
            'Content-Type': 'application/json',
            'Authorization': 'Token' +
                ' token=' + userToken +
                ', email=' + userEmail,
        };
    }
}

再次感谢xxx

0 个答案:

没有答案