首页 > 解决方案 > 无法将 ejs 文件的 url 重定向到在 js 文件中定义的具有两个参数的路由器

问题描述

我正在处理节点 js 和 ejs 文件。在路由器中,我期望以下两个参数

router.get('/pettycashlistview/:expenseId&:isDisabled',verify,(request, 
response) => {

一个是费用 ID,另一个是 isDisabled,因为我正在通过文件和下面的行传递两个参数

pettyCashTableRows += '<tr><td colspan="4"><center><a target="_blank" 
href="/expense/pettycashlistview/'+expenseId+'&'+buttonDisable+'" 
>View All</a></center></td></tr>';

我想通过 ejs 传递相同的东西,如下行:

<a class="btn btn-primary btn-md bg-gray mb-mobile" 
href="/expense/pettycashlistview?expenseId=<%= parentExpenseId %>" 
id="createNewPettyCashButton">Go To Petty Cash</a>

我怎样才能为最后一行实现同样的事情,我需要定义哪些参数我不应该得到错误 buttonDisable 没有定义。如何传递两个参数

<a class="btn btn-primary btn-md bg-gray mb-mobile"  
href="/expense/pettycashlistview?expenseId=<%= parentExpenseId %>" 
id="createNewPettyCashButton">Go To Petty Cash</a>

标签: javascripthtmlcssnode.jsejs

解决方案


通常我会拆分单独的参数而不是尝试加入它们。

/pettycashlistview/:expenseId/:isDisabled会在req.params对象中为您提供两个单独的键,一个被称为expenseId,另一个被称为isDisabled.

req.params从对象中提取参数后,您可能需要将参数解析为正确的数据类型(isDisabled即将属性转换为布尔值)


推荐阅读