NodeJS使用Express框架处理客户端POST请求

来源:互联网 发布:spss软件如何使用 编辑:程序博客网 时间:2024/05/22 00:05

Express使用POST方法接收客户端提交的POST请求

例子:

server.js

var express = require('express');var fs = require('fs');var querystring = require('querystring');var app = express();var mysql = require('mysql');var pool = mysql.createPool({host : 'localhost',port : 3306,database : 'test',user : 'root',password : ''});app.get('/index.html',function(req,res){res.writeHead(200,{'Content-Type' : 'text/html'});res.write('<head><meta charset="utf-8" /></head>');var file = fs.createReadStream('../index.html');file.pipe(res);})app.post('/index.html',function(req,res){req.on('data',function(data){var params = querystring.parse(data.toString());pool.getConnection(function(err,connection){if(err){console.log('与mysql数据库建立连接失败');}else{console.log('与mysql数据库建立连接成功');connection.query('insert into user set ?',{name : params.name,sex : params.sex,age : params.age,tel : params.tel},function(err,result){if(err){connection.release();res.send('插入数据失败');}else{connection.release();res.send('插入数据成功');}})}})})})app.listen(1337,'127.0.0.1',function(){console.log('服务器正在监听');})
index.html
<form action="" method="POST">姓名:<input type="text" name="name" />性别:<input type="text" name="sex" />年龄:<input type="text" name="age" />手机:<input type="text" name="tel" /><input type="submit" value="提交" /></form>
测试:执行server.js,浏览器打开localhost:1337/index.html显示表单提交页面,提交数据存库,返回成功提示

注意server.js和index.html的文件路径

另,在Express中,可以使用sendFile方法向客户端发送一个文件,即

app.get('index.html',function(req,res){

res.sendfile(_dirname + '/index.html');

})

此时,index.html也应该是一个完整的HTML文件,而不是代码片段

0 0