美文网首页前端共享Web前端之路技术干货
Node.js+Express (二)获取前台表单数据

Node.js+Express (二)获取前台表单数据

作者: 绍重先 | 来源:发表于2017-08-15 22:14 被阅读108次

从 GET/POST Request 取值 获取表单数据


由于个人偏好 先将项目默认使用的jade模板改为ejs,并将视图改为html

一、更改视图引擎为ejs


1.安装ejs组件
进入生成的easyapp项目目录,终端输入命令:

npm install ejs --save

2.修改app.js脚本

在自动生成的app.js脚本中 与开头添加

var ejs = require('ejs');

并找到默认的引擎代码见如下:

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');

更改为:

// view engine setup
//设置模板引擎为ejs
app.engine('html', ejs.__express);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'html');

至此完成视图引擎更改

获取前台表单数据


在目项目目录如下:

.
├── app.js
├── bin
│   └── www
├── package.json
├── public
│   ├── images
│   ├── javascripts
│   └── stylesheets
│       └── style.css
├── routes
│   ├── index.js
│   └── users.js
└── views
    ├── error.jade
    ├── index.jade
    └── layout.jade

1.编写html测试文档
views中的jade文件可一律删除 而后添加index.html
示例:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <!-- POST test -->
    <form action='/test' method='post'>
        <input type='text' name='name' value='name'>
        <input type='text' name='tel' value='tel'>
        <input type='submit' value='Submit'>
    </form>
</body>

</html>

2.在app.js添加代码

app.post('/test', function(req, res) {
    console.log(req.body.name);
    console.log(req.body.tel);
});

键入set DEBUG=myapp & npm start命令,在浏览器中进入http://localhost:3000/网址 即可测试

相关文章