前台提交数据到node服务器(post方式)

post方式同样有两种办法,一种是表单提交,一种是ajax提交。

在此之前需要安装一个中间件:body-parser,安装好后在app.js头部引入:

1 bodyParser = require('body-parser');

并且添加配置代码:

1 //接收json数据
2 app.use(bodyParser.json());
3 //extended:true代表可以接收任何数据类型的数据
4 app.use(bodyParser.urlencoded( { extended : true } ));

 1、form提交:

  前台模板文件post.ejs上写如下代码:

1 <form action="/reg" method="post">
2         <input type="text" name="name" />
3         <input type="password" name="password" />
4         <input type="submit"  />
5 </form>

  index.js添加一个路由规则:

 1 //添加路径,通过该路径响应post.ejs模板
 2 router.get('/post',(req,res) => {
 3     res.render('post.ejs');
 4 });
 5 router.post('/reg',(req,res) => {
 6     //req.body 用来接收post方式提交的数据
 7     sql('insert into `user` (`id`,`username`,`password`) values (0,?,?)',[req.body.name,req.body.password],(err,result) => {
 8         if (err){
 9             console.log('[INSERT ERROR] - ',err.message);
10             return;
11         }
12         res.json({
13             success : '[INSERT SUCCESS] - '
14         });
15     });
16 });

 

2、ajax提交:

  前台模板文件post.ejs写如下代码:

 1     <input type="text" name="name" class="name" />
 2     <input type="password" name="password" class="psw" />
 3     <input type="submit" class="submit" />
 4     <script src="/jquery.js"></script>
 5     <script>
 6         $('.submit').click(function () {
 7             $.ajax({
 8                 url : '/reg',
 9                 type : 'post',
10                 data : {
11                     name : $('.name').val(),
12                     password : $('.psw').val()
13                 },
14                 success : function (data) {
15 
16                 }
17             });
18         });
19     </script>

 

  index.js添加一个路由规则:

  (代码同上)

 

 

 

 

   

posted @ 2017-04-19 22:53  小小lomo  阅读(2281)  评论(0编辑  收藏  举报