重定向到新的外部 url 时如何保留 localStorage [重复]

Posted

技术标签:

【中文标题】重定向到新的外部 url 时如何保留 localStorage [重复]【英文标题】:How to preserve localStorage when redirecting to a new external url [duplicate] 【发布时间】:2020-08-06 09:01:03 【问题描述】:

我遇到了无法跨重定向保存 localStorage 的问题。 这是我的代码:

// Call newSitelogin(). Set response(credentials) to localStorage. Redirect to new url.
newSitelogin( uuid, password )
  .then(() => 
    window.open(process.env.NEW_SITE_URL); // This line clears localStorage.
  )
  .catch(() => replaceRouteWith('/'));

调用 api 并在 localStorage 中设置响应的端点

newSitelogin(payload) 
  return yield put.resolve(
      [RSAA]: 
        endpoint: `/auth/hubv3-login`,
        method: 'POST',
        body: JSON.stringify(payload),
        types: [
          ACTION.LOGIN_REQUEST_PERFORM,
          
            type: ACTION.LOGIN_REQUEST_SUCCESS,
            payload: (action, state, res) =>
              getJSON(res).then(json => localStorage.setItem('credentials', JSON.stringify(json))), // setting response to localStorage.
          ,
          ACTION.LOGIN_REQUEST_FAILURE,
        ],
      ,
  );
;

我可以看到凭据正确存储在我的应用程序的 localStorage 中:

但当我使用window.open(process.env.NEW_SITE_URL) 重定向到新网址时,它们不会被保留。

当重定向到一个新的 url 时,我如何确保 credentials 对象被保留? 由于我要重定向到的应用程序中编写的逻辑,我无法使用会话和 cookie。它只在 localStorage 中查找 credentials

【问题讨论】:

看起来网址不同。您是否正在重定向到外部链接? 是的,我正在重定向到外部网址 localstorage in 只保存在同一主机内 【参考方案1】:

我过去曾遇到过这个问题。 localStorage 仅保留每个网站。我所做的是我在 cookie 中附加了用户凭据。

【讨论】:

以上是关于重定向到新的外部 url 时如何保留 localStorage [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在laravel中重定向到外部url时如何保留会话数据

如何将旧的 Wordpress 博客文章 url 重定向到新的

如何使用 htaccess 将带有参数的旧 url 重定向到新的 seo url

React js重定向不会重定向到新的URL

单击时如何在新选项卡或(新窗口)中重定向超链接?

301重定向时nginx保留端口号