我们正在开发一个使用React和Mobx的接口。 我们有一个组件来激活用户帐户 链接和发送给用户电子邮件的代码:
https://mysite/activate?Code=6bgoh9n0uk7a84lc3s9e2lso5j
在组件中,我们调用后端来验证代码是否有效并激活用户。 如果有效,后端将返回用户及其令牌。 此令牌存储在localStorage中,然后我们重定向到主仪表板:
axios.get(`/user/activate/${code}`)
.then(action(response => {
window.localStorage.setItem("myToken", JSON.stringify(response.data));
window.location.href = "/dashboard";
}))
.catch(action(error => {
console.log(error);
}));
在Chrome和Mozilla Firefox中,重定向成功,但在IE 11和Edge Browser中,组件再次呈现,导致代码在后端检查,我们在屏幕上指示代码不再有效。< / p>
我们做错了什么?
答案 0 :(得分:1)
IE11中需要Promise
的填充。更多细节在这里:
https://github.com/mzabriskie/axios/blob/master/UPGRADE_GUIDE.md#es6-promise-polyfill