Cookies 通过nuxt js设置cookie时,花括号转换为字符转义码
我有两个网页,一个运行php,另一个运行nuxt js。我已经从php端设置了cookie,现在我想在nuxt平台上使用并手动填充cookie的值,并再次使用相同的名称进行设置。我正在使用cookie universal nuxt插件设置cookie 现在我面临一个问题,我的cookie由php设置,如下所示: {%22name%22:%22vandana%22%2C%22电子邮件%22:%22vvv@dfdf.com%22%2C%22显示城市%22:%22雅加达+塞拉坦%22%2C%22城市%22:%22雅加达塞拉坦%22%2C%22城市id%22:%22146%22%2C%22子城市id%22:%22%22%2C%22子城市名称%22:%22%22%2C%22移动电话%22:%22847387483%22%2C%22替代移动电话%22:%22%22%22%22%2C%22领先类型%22:%2270%22%2C%22brandSlug%22:%22%22%22丰田22%22%22%22%22%22%22%2C模型Slug%22:%22kijang innova%22%2C%22VariantsSlug%22:%22%22%2C%22preferDay%22:%227%22%2C%22preferTime%22:%22%22%2C%22purchaseOption%22:%22%22} 我的nuxt cookie设置得像beolw: %7B%22城市%22%3A%22%22%2C%22显示城市%22%3A%22显示城市%22%2C%22id%22%3A%22id%22%2C%22pincode%22%3A%22%2C%22本地%3A%22%22%22%2C%22%2C%22%22%2C%22子城市名称%22%3A%22%22%2C%22%22%22%22name%22%3A%22vandan%22%2C%22%22%2222%22mobile%3A%423847324%7D 意味着花括号和冒号在nuxt js中由uriencoded scheme自动编码。因此,我在php上的默认功能无法正常工作,因为cookie设置了不同的值。我希望我的js能够像php一样设置cookie 下面是我用来设置cookie的js代码:Cookies 通过nuxt js设置cookie时,花括号转换为字符转义码,cookies,yii2,nuxt.js,Cookies,Yii2,Nuxt.js,我有两个网页,一个运行php,另一个运行nuxt js。我已经从php端设置了cookie,现在我想在nuxt平台上使用并手动填充cookie的值,并再次使用相同的名称进行设置。我正在使用cookie universal nuxt插件设置cookie 现在我面临一个问题,我的cookie由php设置,如下所示: {%22name%22:%22vandana%22%2C%22电子邮件%22:%22vvv@dfdf.com%22%2C%22显示城市%22:%22雅加达+塞拉坦%22%2C%22城市%
this.$cookies.set(
'gd_uc',
JSON.stringify({
city: cityData.city,
display_city: cityData.display_city,
id: cityData.id,
pincode: '',
locality: '',
subCityId: '',
subCityName: '',
name: cityData.name,
mobile: cityData.number
})
我明白了,您所遇到的问题是,您使用的插件使用encodeURIComponent作为默认的编码函数,因此您必须使用自己的函数来获得所需的输出格式(以匹配PHP所做的工作) 谢天谢地,您可以将自己的encode函数作为set函数选项的一部分进行传递。这是set函数的第三个参数:
this.$cookies.set( 'gd_uc', data, { encode: function(){...}}
我会这样做:
this.$cookies.set(
'gd_uc',
JSON.stringify({
city: cityData.city,
display_city: cityData.display_city,
id: cityData.id,
pincode: '',
locality: '',
subCityId: '',
subCityName: '',
name: cityData.name,
mobile: cityData.number
}),
encode: function(value){
// 1. remove the { and } characters
// 2. pass the resulting string to encodeURIComponent
// 3. Add { and } to the beginning and the end of your string
return `{${encodeURIComponent(value.replace(/[\{\}]/g,''))}}`;
}
)
希望有帮助!您使用什么插件来管理cookie?@jairerina:cookie universal-nuxt