如何设置追踪推荐人代码?写在前端middleware或者nuxtServerInit都报错
来源:4-13 在 Vue SSR 中实现微信网页授权机制与用户资料读取
慕用9964470
2017-10-29
有个需求是创建一个邀请链接,
然后需要被邀请的时候即使没登录也要记录这个邀请人,
然后注册的时候也记录邀请人,
我的思路是保存在session,虽然能保存成功,但是有个cookie的报错,代码和错误信息如下,
好像是nuxt已经render了,render后修改cookie就会有错误,
额,然后请问老师应该怎么写类似nuxt渲染,但是需要服务器配合的逻辑?
nuxtServerInit ({ commit }, { req , query }) { if(query.inviter){ if (!trance) { trance={} console.log('req.session.trance.inviter',req.session.trance) } if(trance.inviter!=query.inviter){ trance.inviter=query.inviter } console.log('req.session.trance.inviter',req.session.trance) } }
错误信息
Error: Can't set headers after they are sent. at validateHeader (_http_outgoing.js:504:11) at ServerResponse.setHeader (_http_outgoing.js:511:3) at Cookies.set (/www/wwwroot/miaodetao/source/node_modules/cookies/index.js:115:13) at /www/wwwroot/miaodetao/source/node_modules/koa-session2/index.js:39:21 at <anonymous> at process._tickCallback (internal/process/next_tick.js:169:7)
写回答
1回答
-
Scott
2017-10-31
这个错误信息,感觉不是 cookie 导致的,是服务器端渲染的时候,导致的。
可能得再看看你服务器端这块处理的代码,另外,记录邀请人的话,服务器端在用户点击连接进来时候,也可以存一个 inviteToken 的表,记录起来,然后写到 session cookie 中后,用户在前端页面,读取这个 cookie 后,注册或者登陆后,再传给后台,后台对应 inviteToken 表查有无,再记录一次到用户邀请人这里,应该也可以。就不需要修改 cookie 了
00
相似问题
nuxtServerInit
回答 2
没有报错,但是在浏览器访问不到?
回答 2
nginx怎样加载次配置文件
回答 2
nginx 配置出错
回答 4
登录这里的中间件,没看到在哪里调用了啊?
回答 1