获取浏览器cookie,并将其传递给nuxt js上的服务器端渲染

     2023-02-22     107

关键词:

【中文标题】获取浏览器cookie,并将其传递给nuxt js上的服务器端渲染【英文标题】:Get a browser cookie, and pass it to the server side rendering on nuxt js 【发布时间】:2018-09-23 07:01:05 【问题描述】:

我用 nuxt js 开发了一个项目。我在下面遇到这样的问题。

我通过异步 ajax 从后端的 restful api 获得结果 要求。 我需要将结果作为标题添加到每个任务中 axios 的 ajax 库。 所以我将结果保存在浏览器 cookie 中。 当我需要结果时,我从 cookie 中获取,并附加到 axios 请求。

现在,问题出在服务器端渲染上,我无法获取浏览器 cookie。

我要怎么解决这个问题?

【问题讨论】:

可能是因为您的页面没有刷新。 【参考方案1】:

首先,您可以从nuxt context 获取req(请求)和res(响应)。

您可以通过

设置cookie
// client side
document.cookie = 'sessionId=some-id;';
document.cookie = 'userId=awesome-id;';

// or server side
res.setHeader('Set-Cookie', ['sessionId=some-id;', 'userId=awesome-id;']);

【讨论】:

【参考方案2】:

您可以将所需的信息存储在本地存储和 cookie 中,例如

import Cookie from 'js-cookie'
....
setCookie(state, value) 
  if (process.client) 
    localStorage.setItem('cookie', value);
  
  Cookie.set('cookie', value)

读取它(cookies自动包含在请求中)

getCookie(context, req) 
  // if server
  if (req) 
    if (req.headers.cookie) 
      const cookie = req.headers.cookie.split(';').find(...)
    
  
  // if client
  if (process.client) 
    const cookie = localStorage.getItem('cookie');
  

然后删除

removeCookie(state) 
  if (process.client) 
    localStorage.removeItem('cookie');
  
  Cookie.remove('cookie');

【讨论】:

这是插件文件吗?或者放在哪里? vuex store 里面有这些

重定向页面时如何将jwt存储在cookie中并将其传递给身份验证功能?

】重定向页面时如何将jwt存储在cookie中并将其传递给身份验证功能?【英文标题】:Howtostorejwtincookieandpassittoauthenticationfunctionwhenredirectingapage?【发布时间】:2019-10-2417:29:14【问题描述】:我有一个使用Postman构建并使用Jest测试的n... 查看详情

如何从 cookie 中保存 XSRF 令牌并将其传递给 Gatling 的下一个请求标头中的服务器

】如何从cookie中保存XSRF令牌并将其传递给Gatling的下一个请求标头中的服务器【英文标题】:HowcansaveXSRFtokenfromcookieandpassittoserverinnextrequestheaderinGatling【发布时间】:2020-10-1908:34:23【问题描述】:我正在尝试使用Gatling执行负载测... 查看详情

从数据表中获取值并将其传递给标签

】从数据表中获取值并将其传递给标签【英文标题】:Getvaluesfromdatatableandpassittolabel【发布时间】:2021-06-1918:41:06【问题描述】:我想在用户成功登录后获取FullName,并将他们的FullName放入labelstringconn=ConfigurationManager.ConnectionStrings... 查看详情

如何获取python的多处理数组'指针并将其传递给Cpp程序?

】如何获取python的多处理数组\\\'指针并将其传递给Cpp程序?【英文标题】:Howtogetpython\'smultiprocessingarray\'pointerandpassittoCppprogram?如何获取python的多处理数组\'指针并将其传递给Cpp程序?【发布时间】:2020-06-2210:19:41【问题描述】... 查看详情

如何从文本字段中获取值并将其传递给变量?

】如何从文本字段中获取值并将其传递给变量?【英文标题】:Howtogetthevaluefromatextfieldandpassitintoavariable?【发布时间】:2011-08-0118:34:39【问题描述】:我有以下表格。<formname="cookieform"id="login"method="POST"><inputtype="text"NAME="user... 查看详情

使用闭包获取 API 结果并将其传递给另一个 ViewController

】使用闭包获取API结果并将其传递给另一个ViewController【英文标题】:GettingAPIResultwithclosureandpassingitintoanotherViewController【发布时间】:2022-01-1400:30:18【问题描述】:我在viewModel中得到一个API结果,如下所示:classHomePageViewModelvarap... 查看详情

Laravel - 如何获取选择值并将其传递给 RegisterController create()

】Laravel-如何获取选择值并将其传递给RegisterControllercreate()【英文标题】:Laravel-HowtogetselectvalueandpassittoRegisterControllercreate()【发布时间】:2021-09-0116:12:36【问题描述】:我有以下问题,如何获取我的register.blade.php上的选择值?当... 查看详情

从输入字段中获取一个值并将其传递给 Paypal

】从输入字段中获取一个值并将其传递给Paypal【英文标题】:TakingavaluefromainputfieldandpassingittoPaypal【发布时间】:2014-01-0303:14:14【问题描述】:我有一个输入字段,其中填充了捐赠金额按钮选择的数值。我需要将在输入字段中填... 查看详情

从 CgContextRef 获取 UiImage 并将其传递给另一个 ViewController

】从CgContextRef获取UiImage并将其传递给另一个ViewController【英文标题】:GettingUiImagefromCgContextRefandpassittoanotherViewController【发布时间】:2012-07-1811:59:43【问题描述】:我想从CGContextRef中取出UIImage,并在不同的UIViewController中的UIImageV... 查看详情

获取 MVC 模型数据并将其传递给 AngularJS 控制器

】获取MVC模型数据并将其传递给AngularJS控制器【英文标题】:GettingandpassingMVCModeldatatoAngularJScontroller【发布时间】:2015-08-2307:03:37【问题描述】:我对AngularJS很陌生,在这里我不知所措。现在我的MVC程序使用Razor显示我的.mdf数据... 查看详情

如何从地图活动中获取选定的位置并将其传递给父活动?

】如何从地图活动中获取选定的位置并将其传递给父活动?【英文标题】:Howtogetselectedlocationfrommapactivityandpassittoaparentactivity?【发布时间】:2017-04-0620:45:44【问题描述】:对于当前的项目,我需要对经纬度数据做一些事情。我正... 查看详情

如何在控制器中获取视图然后渲染数据并将其传递给 ajax

】如何在控制器中获取视图然后渲染数据并将其传递给ajax【英文标题】:Howtogetviewincontrollerthenrenderdataandpassittoajax【发布时间】:2019-01-1422:21:44【问题描述】:问题是如何获取视图并将所有html存储在一个变量中,然后将数据呈... 查看详情

从一种形式获取价值并将其传递给另一种形式

】从一种形式获取价值并将其传递给另一种形式【英文标题】:Takevaluefromoneformandpassittoanotherone【发布时间】:2019-07-1107:33:05【问题描述】:我开始学习PLSQLOracle,并试图找到一种将值从一种形式复制到另一种形式的方法。我有... 查看详情

从mysql表中获取行到php数组并将其传递给ajax

】从mysql表中获取行到php数组并将其传递给ajax【英文标题】:getrowsfrommysqltabletophparrayandpassittoajax【发布时间】:2018-02-0516:09:12【问题描述】:我正在尝试通过ajaxphp中的mysql_query和mysql_fetch_array的常规方式从常规表中获取值if($comty... 查看详情

从 Symfony 请求中获取路由并将其传递给包含的 twig 文件?

】从Symfony请求中获取路由并将其传递给包含的twig文件?【英文标题】:GettingtheroutefromaSymfonyrequestandpassingittoanincludedtwigfile?【发布时间】:2021-07-1310:38:57【问题描述】:我希望从我的twig模板中包含的文件中访问在我的控制器中... 查看详情

有没有办法获取选项标签值并将其传递给车把中的助手?

】有没有办法获取选项标签值并将其传递给车把中的助手?【英文标题】:Isthereanywaytogetanoptiontagvalueandpassittoahelperinhandlebars?【发布时间】:2020-01-0306:49:54【问题描述】:我正在使用express和车把,所以我有一个视图,当客户端从... 查看详情

获取一个值并将其传递给结构列表并返回一个具有相应值的列表

】获取一个值并将其传递给结构列表并返回一个具有相应值的列表【英文标题】:Takingavalueandpassingitthroughalistofstructuresandreturningalistthathasthecorrespondingvalue【发布时间】:2020-08-1119:48:46【问题描述】:我正在尝试编写一个函数,该... 查看详情

如何遍历 recyclerview 适配器中的项目获取结果并将其传递给片段

】如何遍历recyclerview适配器中的项目获取结果并将其传递给片段【英文标题】:Howtoiterateoveritemsinsidearecyclerviewadaptergetaresultandpassittoafragment【发布时间】:2021-11-2919:01:31【问题描述】:下面是我的recyclerview适配器,每当我的recycle... 查看详情