鱼C论坛

 找回密码
 立即注册
查看: 2851|回复: 0

[学习笔记] 网页版餐厅点餐系统(三)

[复制链接]
发表于 2017-7-3 08:33:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
继续我们的任务,在views目录下新建header.ejs文件代码如下
  1. <ul class="nav nav-pills">
  2.     <li role="presentation" class="active"><a href="/">Home</a></li>
  3.     <li role="presentation" class="active"><a href="regist">注册</a></li>
  4.     <li role="presentation" class="active"><a href="signin">登录</a></li>
  5. </ul>
复制代码

把上次建home.ejs文件修改为
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  6.     <title>FISHC RESTAURANT</title>
  7.     <link rel="stylesheet" href="bootstrap3/css/bootstrap.min.css">
  8.     <script src="bootstrap3/js/jquery.min.js"></script>
  9.     <script src="bootstrap3/js/bootstrap.min.js"></script>
  10. </head>
  11. <body class="container">
  12. <%include header.ejs%>
  13. <h1 class="page-header text-center">Welcome to my homepage</h1>
  14. <p class="text-success">本餐厅采用优质伊拉克甲鱼,个头硕大,适于红烧,清炖各种做法。口感较好。品味独特。</p>
  15. <img src="http://img.sucai.redocn.com/attachments/images/200909/20090918/20090918_8de29be1060bf3373acebLRHrYy3fFES.jpg" alt="甲鱼图" class="img-thumbnail">
  16. </body>
  17. </html>
复制代码

然后启动服务器在网站上就会有一个导航栏。
接下来做登录界面的路由,在上次建的启动文件里添加一行
  1. app.get('/regist', function (req,res,next) {
  2.     res.render('./regist.ejs');
  3. });
复制代码
代码,然后在views目录下新建regist.ejs文件,代码如下:
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  6.     <title>FISHC RESTAURANT</title>
  7.     <link rel="stylesheet" href="bootstrap3/css/bootstrap.min.css">
  8.     <script src="bootstrap3/js/jquery.min.js"></script>
  9.     <script src="bootstrap3/js/bootstrap.min.js"></script>
  10.     <script>
  11.         var name=[];
  12.         $.post(
  13.                 '/myjson',
  14.                 function (data) {
  15.                     for(i=0;i<data.length;i++){
  16.                         name[i]=data[i].username;
  17.                     }
  18.                 });
  19.     </script>
  20. </head>
  21. <body class="container">
  22. <%include header.ejs%>
  23. <h1 class="page-header text-center">Welcome to regist page</h1>
  24. <div class="input-group">
  25.     <span class="input-group-addon">@</span>
  26.     <input id="username" style="ime-mode:disabled" type="text" class="form-control" placeholder="Username">
  27. </div>
  28. <div class="input-group">
  29.     <span class="input-group-addon">@</span>
  30.     <input id="password" type="password" class="form-control" placeholder="password">
  31. </div>
  32. <button onclick="fn()" class="btn btn-default">submit</button>
  33. <div class="text"></div>
  34. <script type="text/javascript" charset="utf-8">
  35.     function fn(){
  36.         un = $('#username').val();
  37.         pw = $('#password').val();
  38.         if(name.indexOf(un)==-1) {
  39.             $.post('/doregist', {
  40.                 'username': un,
  41.                 'password': pw
  42.             }, function (result) {
  43.                 if (result == '0') {
  44.                     $('.text').html('您的用户已创建成功,请手动进行登录');
  45.                 }
  46.             });
  47.         }else{
  48.             $('.text').html('您的用户名与别人重复,请另起个用户名');
  49.         }
  50.     }
  51. </script>
  52. </body>
  53. </html>
复制代码

这里我们是用的ajax做的注册页面,因为还没在服务器上建路由,所以按提交按钮没什么作用(ajax技术是不用刷新页面就可以提交内容)。网页上面的script标签里是从myjson路由提取内容到name数组里,下面script标签里的fn()函数只起一个验证表单如果没有重复的用户名,就把数据上传到doregist路由里。我们下面就做这个doregist路由,把主启动文件修改为:
  1. var express = require('express');
  2. var doregist = require('./control/doregist.js');
  3. var app = express();
  4. app.set('view engine','ejs');
  5. app.use(express.static('./public'));
  6. app.get('/',function(req,res,next){
  7.     res.render('./home.ejs');
  8. });
  9. app.get('/regist', function (req,res,next) {
  10.     res.render('./regist.ejs');
  11. });
  12. app.post('/doregist',doregist);
  13. app.listen(3000);
复制代码

因为上边require了一个我的doregist.js文件,所以也要建这个文件,在主目录下新建control目录,在control目录下新建doregist.js文件,明天我们再往里写代码,因为要涉及到数据库

评分

参与人数 1鱼币 +5 收起 理由
小甲鱼 + 5

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-26 14:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表