Javascript 如何在用户输入路线名称后动态创建快速路线

Javascript 如何在用户输入路线名称后动态创建快速路线,javascript,html,express,routes,Javascript,Html,Express,Routes,这很难解释但是 我正在创建一个新冠病毒登记网站,我希望有人可以选择作为企业所有者登录,并为他们的企业创建登记路线 到目前为止,我可以通过硬编码业务路线来实现,例如,麦当劳路线的代码如下所示: checkInCounter_1 = 0; router.get('/mcdonalds.html', function(req, res, next) { checkInCounter_1 ++; res.send(` <!DOCTYPE html> <h

这很难解释但是

我正在创建一个新冠病毒登记网站,我希望有人可以选择作为企业所有者登录,并为他们的企业创建登记路线

到目前为止,我可以通过硬编码业务路线来实现,例如,麦当劳路线的代码如下所示:

checkInCounter_1 = 0;
router.get('/mcdonalds.html', function(req, res, next) {
    checkInCounter_1 ++;
    res.send(`
    <!DOCTYPE html>
    <html>
    <head>
    </head>

    <body>
      <div id="header_maccas">
          <h1 id="headerCont3">Covid Check-In for McDonalds</h1>
      </div>
      <h1 id="maccas_thanks">thankyou for checking into McDonalds!</h1>
      <p>${checkInCounter_1} total people have checked in.</p>
    </body>
    </html>
    `);
});

checkInCounter_1=0;
router.get('/mcdonalds.html',函数(req、res、next){
checkInCounter_1++;
res.send(`
麦当劳的新冠疫情登记
感谢您入住麦当劳!
${checkInCounter_1}已登记的总人数

`); });
但我真的希望企业所有者能够在输入字段中输入他们的业务,然后动态地为他们的业务创建签入路径,如下所示:

checkInCounter_1 = 0;
router.get('/mcdonalds.html', function(req, res, next) {
    checkInCounter_1 ++;
    res.send(`
    <!DOCTYPE html>
    <html>
    <head>
    </head>

    <body>
      <div id="header_maccas">
          <h1 id="headerCont3">Covid Check-In for McDonalds</h1>
      </div>
      <h1 id="maccas_thanks">thankyou for checking into McDonalds!</h1>
      <p>${checkInCounter_1} total people have checked in.</p>
    </body>
    </html>
    `);
});

“进入你的企业”:企业主然后输入沃尔玛或其他东西,然后创建一条与麦当劳路线非常相似的路线,除了沃尔玛路线

我需要这个选项,因为我不能只硬编码每一家公司,我想创建一个URL路由,并命名为企业主输入的任何内容->在字段creates/Walmart.html中键入Walmart

其中walmart.html包含写感谢您的登录,并显示有多少人已经登录(访问了该路线)

很抱歉解释得不好,但我想不出其他解释的方法


谢谢

您需要一个数据库来存储所有自定义URL,也就是说,一旦用户进入某个站点,就将其存储在数据库中(以及有关用户的其他信息)

在本例中,假设您使用MongoDB(使用mongoose库)和EJS(只是一个示例实现,您不必使用它们)

当用户发出请求时,您可以将所有请求定向到中间件(如果找到URL,则发送文件,或者转到默认主页):

app.use(async(req,res,next)=>{//每当有请求时,它都会执行此函数
var urlRequested=req.originalUrl;//req.originalUrl是站点名称之后的所有内容。请注意,它包括查询字符串(可以使用urlRequested.split(“?”)[0]轻松删除)
//在这里,您可以使用urlRequested向数据库发出请求。如果您有一个匹配的URL,您可以发送一个包含信息的结果。使用模板引擎(如EJS)会很有帮助
//假设您已连接并设置mongoose和EJS
var isUrl=await-nameOfYourMongooseModel.findOne({storedUrl:urlRequested});
if(isUrl!==null){
res.render('somejsfile',{information:isUrl});
}否则{
next();//转到默认主页
}
});

< /代码>也许您可以考虑使用路由参数,比如“//OpjyNoNEX”或Ajax查询结果,取决于输入值。无论何时输入,它都会创建路线和所有内容!感谢堆中的那个计数器到底是什么?是的,当然,你可以创建db条目来跟踪每个供应商的报到计数器。