nuxt2项目,前端如何获取服务器时间?
前端nuxt项目在服务器A, 后端api服务在服务器B
要做接口鉴权,需要在请求中带上时间参数
在用户用浏览器访问的时候,如何可以获取到服务器的时间(不调用api服务器的接口,不调用第三方接口),前端将请求带上时间再访问api服务器,api服务器再做鉴权处理
回答:
建一个中间件来然后加一个自定义的响应头:
// middleware/server-time.jsexport default function (req, res, next) {
res.setHeader('X-Server-Time', new Date().toISOString());
next();
}
然后前端:
async function fetchServerTime() { const response = await fetch('/some-endpoint');
const serverTime = response.headers.get('X-Server-Time');
return new Date(serverTime);
}
或者你用了SSR的话在服务器渲染的页面里直接注入服务器时间:
async asyncData({ req }) { const serverTime = req ? new Date() : new Date(window.__NUXT__.serverTime);
return { serverTime };
}
以上是 nuxt2项目,前端如何获取服务器时间? 的全部内容, 来源链接: utcz.com/p/934785.html