鱼C论坛

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

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

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

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

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

x
继续我们的任务,在views目录下新建header.ejs文件代码如下
<ul class="nav nav-pills">
    <li role="presentation" class="active"><a href="/">Home</a></li>
    <li role="presentation" class="active"><a href="regist">注册</a></li>
    <li role="presentation" class="active"><a href="signin">登录</a></li>
</ul>
把上次建home.ejs文件修改为
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <title>FISHC RESTAURANT</title>
    <link rel="stylesheet" href="bootstrap3/css/bootstrap.min.css">
    <script src="bootstrap3/js/jquery.min.js"></script>
    <script src="bootstrap3/js/bootstrap.min.js"></script>
</head>
<body class="container">
<%include header.ejs%>
<h1 class="page-header text-center">Welcome to my homepage</h1>
<p class="text-success">本餐厅采用优质伊拉克甲鱼,个头硕大,适于红烧,清炖各种做法。口感较好。品味独特。</p>
<img src="http://img.sucai.redocn.com/attachments/images/200909/20090918/20090918_8de29be1060bf3373acebLRHrYy3fFES.jpg" alt="甲鱼图" class="img-thumbnail">
</body>
</html>
然后启动服务器在网站上就会有一个导航栏。
接下来做登录界面的路由,在上次建的启动文件里添加一行
app.get('/regist', function (req,res,next) {
    res.render('./regist.ejs');
});
代码,然后在views目录下新建regist.ejs文件,代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <title>FISHC RESTAURANT</title>
    <link rel="stylesheet" href="bootstrap3/css/bootstrap.min.css">
    <script src="bootstrap3/js/jquery.min.js"></script>
    <script src="bootstrap3/js/bootstrap.min.js"></script>
    <script>
        var name=[];
        $.post(
                '/myjson',
                function (data) {
                    for(i=0;i<data.length;i++){
                        name[i]=data[i].username;
                    }
                });
    </script>
</head>
<body class="container">
<%include header.ejs%>
<h1 class="page-header text-center">Welcome to regist page</h1>
<div class="input-group">
    <span class="input-group-addon">@</span>
    <input id="username" style="ime-mode:disabled" type="text" class="form-control" placeholder="Username">
</div>
<div class="input-group">
    <span class="input-group-addon">@</span>
    <input id="password" type="password" class="form-control" placeholder="password">
</div>
<button onclick="fn()" class="btn btn-default">submit</button>
<div class="text"></div>
<script type="text/javascript" charset="utf-8">
    function fn(){
        un = $('#username').val();
        pw = $('#password').val();
        if(name.indexOf(un)==-1) {
            $.post('/doregist', {
                'username': un,
                'password': pw
            }, function (result) {
                if (result == '0') {
                    $('.text').html('您的用户已创建成功,请手动进行登录');
                }
            });
        }else{
            $('.text').html('您的用户名与别人重复,请另起个用户名');
        }
    }
</script>
</body>
</html>
这里我们是用的ajax做的注册页面,因为还没在服务器上建路由,所以按提交按钮没什么作用(ajax技术是不用刷新页面就可以提交内容)。网页上面的script标签里是从myjson路由提取内容到name数组里,下面script标签里的fn()函数只起一个验证表单如果没有重复的用户名,就把数据上传到doregist路由里。我们下面就做这个doregist路由,把主启动文件修改为:
var express = require('express');
var doregist = require('./control/doregist.js');
var app = express();
app.set('view engine','ejs');
app.use(express.static('./public'));
app.get('/',function(req,res,next){
    res.render('./home.ejs');
});
app.get('/regist', function (req,res,next) {
    res.render('./regist.ejs');
});
app.post('/doregist',doregist);
app.listen(3000);
因为上边require了一个我的doregist.js文件,所以也要建这个文件,在主目录下新建control目录,在control目录下新建doregist.js文件,明天我们再往里写代码,因为要涉及到数据库

评分

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

查看全部评分

本帖被以下淘专辑推荐:

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-21 22:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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