我通过Nuxt.js中的asyncData从后端获取数据:
async asyncData ({ app }) {
const { data: { testimonials } } = await axios('https://example.com/api/testimonials.json')
return {
testimonials
}
}
站点以通用模式配置-页面在服务器上呈现。但是客户端可能有一个cookie,该cookie将对其进行身份验证,以从CMS接收私人内容。
这在客户端上导航时有效(通过浏览器中的cookie调用asyncData,但是在第一次加载时未加载私有内容(来自服务器的HTML)。
是否有某种方法可在客户端上调用realod asyncData?我可以通过隐藏按钮或其他一些逻辑来调用它(例如,浏览器中有一个身份验证cookie)。
您最好在服务器端阅读cookie并直接为您的用户提供正确的内容!
看看https://www.npmjs.com/package/cookie-universal-nuxt
您可以在nuxt路由中间件中或从商店中的nuxtServerInit中读取cookie。