0

我有一个带有侧边栏的页面,可以更改其功能。每个不同的侧边栏布局都是一个 div。其中两个边栏允许文本输入。现在我有一个 app.get 语句调用一个处理所有侧边栏布局的处理程序,但是这个解决方案非常混乱。我将如何拆分不同的侧边栏以使用不同的处理程序函数?

例如,我在 app.js 中有这样的语句:

app.post('/', home.sidebarHandler);

sidebarHandler 目前处理登录和注册为新用户,但我希望这由两个单独的函数来完成。

这是我的玉代码的一部分,这是 div 之一:

form#sbCreateBox(method='post')
    input.sbText(type='text', name= 'usernameReg', placeholder='Username', required)
    input.sbText(type='text', name= 'acctHolderName', placeholder='Name')
    input.sbText(type='email', name= 'useremail', placeholder='Email Address',      required)
    input.sbText(type='password', name= 'passwordReg', autocomplete='off',    placeholder='Password', required)
    input.sbText(type='password', name= 'passConfirm', autocomplete='off', placeholder='Confirm Password', required)
    input#sbCreateButton(type='submit', value='Create Account')

我如何设置路由以具有单独的 app.post 语句?

4

1 回答 1

0

您可以在服务器端代码中定义两条路由:

app.post('/register', home.registerUser);
app.post('/login', home.loginUser);

并根据用户的操作更新您的 HTML 以发布到正确的 URL(/register 或 /login)。

编辑 您可以创建两个表单。一个将发布到 /register,另一个发布到 /login(注意表单元素上的 action 属性):

登记表

form#sbCreateBox(method='post' action='/register')
    input.sbText(type='text', name= 'usernameReg', placeholder='Username', required)
    input.sbText(type='text', name= 'acctHolderName', placeholder='Name')
    input.sbText(type='email', name= 'useremail', placeholder='Email Address',      required)
    input.sbText(type='password', name= 'passwordReg', autocomplete='off',    placeholder='Password', required)
    input.sbText(type='password', name= 'passConfirm', autocomplete='off', placeholder='Confirm Password', required)
    input#sbCreateButton(type='submit', value='Create Account')

登录表格

form#sbCreateBox(method='post' action='/login')
    input.sbText(type='text', name= 'usernameReg', placeholder='Username', required)
    input.sbText(type='password', name= 'passwordReg', autocomplete='off',    placeholder='Password', required)
    input#sbCreateButton(type='submit', value='Login')
于 2012-12-20T19:19:43.430 回答