nuxt2项目,前端如何获取服务器时间?

前端nuxt项目在服务器A, 后端api服务在服务器B
要做接口鉴权,需要在请求中带上时间参数
在用户用浏览器访问的时候,如何可以获取到服务器的时间(不调用api服务器的接口,不调用第三方接口),前端将请求带上时间再访问api服务器,api服务器再做鉴权处理


回答:

建一个中间件来然后加一个自定义的响应头:

// middleware/server-time.js

export 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

回到顶部