javascript - Express 将 URL 中的“%2F”替换为“/”
问题描述
在 express 中间件中
server.get('/abc/test', function(req, res) {
var token = req.param('access_token')
return app.render(req, res, "/abc", {
token: token
});
});
这会将所有https://domain/abc/test?token=Srasd%2Fmnaismlm%2Bsfas 路由到abc页面
记录令牌值的控制台显示Srasd/mnaismlm+sfas而不是Srasd%2Fmnaismlm%2Bsfas
有没有办法防止这些值被替换?
解决方案
使用encodeURIComponent
(见 MDN)
const token = `https://domain/abc/test?token=Srasd/mnaismlm+sfas`;
console.log(encodeURIComponent(token));
.as-console-wrapper { top: 0; max-height: 100% !important; }
推荐阅读
- .net - 在使用 .NET 3.5 的应用程序中使用使用 .NET 4.7 编写的 COM 组件
- python-2.7 - 使用python将句子列表与另一个列表匹配
- javascript - Java 8 lambda(来自 javascript 示例)
- matlab - 特定条件下系统ODE的慢时间积分
- python - 支持向量机是否将向量作为特征?
- ios - iOS 自定义应用程序 Salesforce - 尝试在 4G 上连接到 Salesforce 时出现 SSL 错误
- javascript - 如何在 react .js 文件中导入带有脚本的 html 文件?
- ruby - 有没有更有效的方法来重构 ruby 上的哈希迭代?
- python-3.x - Amazon DynamoDB [DDB] 并行扫描 - boto 3 - python
- reactjs - 在 Markdown Gatsby 中创建缩略图