Javascript 如何使用随机字符串作为路由参数(ExpressJS)
我通过将url路径中的随机字符串作为路由参数来实现重置密码。我后来在app.param中使用它。当随机字符串包含字符“/”时,应用程序无法正常工作。下面是我的实现 在models/mymodelname.js中Javascript 如何使用随机字符串作为路由参数(ExpressJS),javascript,node.js,http,express,Javascript,Node.js,Http,Express,我通过将url路径中的随机字符串作为路由参数来实现重置密码。我后来在app.param中使用它。当随机字符串包含字符“/”时,应用程序无法正常工作。下面是我的实现 在models/mymodelname.js中 resetId = crypto.randomBytes(16).toString('base64'); app.post('/resetpassword/:resetId',users.resetPassword); 在routes/mymodelname.js中 resetId
resetId = crypto.randomBytes(16).toString('base64');
app.post('/resetpassword/:resetId',users.resetPassword);
在routes/mymodelname.js中
resetId = crypto.randomBytes(16).toString('base64');
app.post('/resetpassword/:resetId',users.resetPassword);
是否有任何方法可以使用从随机字符串获取的resetId作为路由参数?以下是解决此问题的几种方法:
%XX
表示形式:
resetId = crypto.randomBytes(16).toString('base64');
// ...
resetIdEscaped = encodeURIComponent(resetId);
// Example: L73jflJreR%2FuivSdnMU5%2Fg%3D%3D
resetId = crypto.randomBytes(16).toString('hex');
// Example: 13e095f8967a1ba06d11eeeed616051d