我有一个带侧边栏的页面可以更改其功能。每个不同的侧边栏布局都是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语句?
答案 0 :(得分:0)
您可以在服务器端代码中定义两条路线:
app.post('/register', home.registerUser);
app.post('/login', home.loginUser);
根据用户的操作,更新您的HTML以发布到正确的URL(/ register或/ login)。
修改强> 您可以创建两个表单。一个将发布到/注册,另一个发布到/ 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')