javascript - 如何在反应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;
})
或如何通过此请求发送正文
解决方案
你不能用 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 客户端库所做的相同原则。
推荐阅读
- twitter-bootstrap - Bootstrap 在 android 上的普通 Firefox 选项卡上不起作用
- react-native - 如何在 React Native 中下载文件(图像、gif 等)
- javascript - 如何插入多个文档并使用 mongoose 更新它们的重复项?
- c# - 模拟 CodeAccessSecurityAttribute 的自定义实现
- javascript - Highcharts 在所有图例之后添加一个按钮
- jquery - 引导日期选择器显示不正确的日期格式
- angular - 如何禁用getter对象的设置值
- html - Favicon:格式错误的开始标记。属性应该用空格分隔
- android - 选择基于 Sqlite 查询的条件
- java - 线程优先级无法正常工作。我在代码中做错了什么?