如何访问nodejs文件中的navigator.language?
How to access navigator.language in nodejs file?
我想访问使用 axios.get 请求调用的节点 js 文件中的 navigator.language。我试图在调用 get 请求时从 Reactjs 文件传递 navigator.language,如下所示:
axios.get('/apps/poe/powerStates', {data: {
navLanguage : navigator.language
}});
浏览了一些链接后,我认为这可以达到我的目的。但是不,这没有将 navigator.language 传递给 nodejs 文件,它会在其中检查 navigator.language:
router.get('/example', async (req, res) => {
console.log(req.data); // shown as blank - {}
const {navLanguage} = req.data //thus gives me error
try{
........
} catch{
........
}
});
注意:- 我见过一些外部库,例如 'locale',但不打算为此目的使用任何第三方库。
有什么方法可以实现吗?
您正在尝试使用 GET 请求将数据作为正文发送 - 但是 GET 请求没有正文。这就是为什么您的 Node.js 处理程序在体内看不到任何东西。您应该将数据作为 URL 查询参数传递:
// client side request
axios.get(`/apps/poe/powerStates?lang=${navigator.language}`)
// server side request handler
router.get('/apps/poe/powerStates', async (req, res) => {
const { lang } = req.query
...
}
我想访问使用 axios.get 请求调用的节点 js 文件中的 navigator.language。我试图在调用 get 请求时从 Reactjs 文件传递 navigator.language,如下所示:
axios.get('/apps/poe/powerStates', {data: {
navLanguage : navigator.language
}});
浏览了一些链接后,我认为这可以达到我的目的。但是不,这没有将 navigator.language 传递给 nodejs 文件,它会在其中检查 navigator.language:
router.get('/example', async (req, res) => {
console.log(req.data); // shown as blank - {}
const {navLanguage} = req.data //thus gives me error
try{
........
} catch{
........
}
});
注意:- 我见过一些外部库,例如 'locale',但不打算为此目的使用任何第三方库。
有什么方法可以实现吗?
您正在尝试使用 GET 请求将数据作为正文发送 - 但是 GET 请求没有正文。这就是为什么您的 Node.js 处理程序在体内看不到任何东西。您应该将数据作为 URL 查询参数传递:
// client side request
axios.get(`/apps/poe/powerStates?lang=${navigator.language}`)
// server side request handler
router.get('/apps/poe/powerStates', async (req, res) => {
const { lang } = req.query
...
}