首页 > 解决方案 > 如何在反应js中使用window.open发送标头

问题描述

downloadFile = () => {    
    window.open('http://localhost:3000/download','_current')
}

我如何发送带有此请求的标头我的标头是

{headers: {token: Cookies.get('token')}}

我必须在后端检索这个令牌,请有人建议我解决这个问题

//后端路由

router.get('/download',function(req, res){
    const token=req.headers.token;
})

或如何通过此请求发送正文

标签: javascriptreactjs

解决方案


你不能用 window.open 做到这一点。例如,这可以通过像 axios 这样的 http 客户端来完成。您不能使用 window.open 发出 http 请求。您可以这样做的众多方法之一:

npm install axios

在你的脚本中:

const axios = require('axios');

axios.get('http://localhost:3000/download', { headers: { token: Cookies.get('token') } }).then(response => {
    console.log(response.data);
  })
  .catch((error) => {
    console.log(error);
  });

请注意,这不是唯一的方法,但它确实包含许多其他 http 客户端库所做的相同原则。


推荐阅读