在Node.js中的GET和POST请求使用Express
|在本教程中,我们将学习如何使用Express在Node.js中处理GET和POST请求,还使用了Mysql从数据库中读取和发布
安装依赖
- Express 4
- Body parser
- Mysql
我们创建一个package.json文件
{
"name": "GET-POST-Request",
"version": "0.0.1",
"main": "server.js",
"dependencies": {
"express": "^4.8.7",
"mysql":"^2.5.5",
"body-parser":"^1.12.0"
}
}
通过终端器命令,可以安装依赖项
npm install
注意:如果在本地工作,必须安装Mysql服务
首先包括require模块和http服务器,此外我们已经完成了Mysql的GET和POST数据的连接。
在终端器命令:
touch server.js
var app = require('express')(); // Express App include
var http = require('http').Server(app); // http server
var mysql = require('mysql'); // Mysql include
var bodyParser = require("body-parser"); // Body parser for fetch posted data
var connection = mysql.createConnection({ // Mysql Connection
host : 'localhost',
user : 'root',
password : '',
database : 'abc',
});
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json()); // Body parser use JSON data
在GET请求中,我们基本是从数据库获取数据,并显示为json格式
app.get('/fetchdata',function(req,res){
var data = {
"Data":""
};
connection.query("SELECT * from testing",function(err, rows, fields){
if(rows.length != 0){
data["Data"] = rows;
res.json(data);
}else{
data["Data"] = 'No data Found..';
res.json(data);
}
});
});
使用app.get(“/url”,function)的时候,我们可以做URL路由,并根据需要获取数据
在connection.query(“Query”,function)中,将用于写入查询和在回调获得所需的数据,可以看到上面的代码
app.post('/login',function(req,res){
var email = req.body.email;
var pass = req.body.password;
var data = {
"Data":""
};
connection.query("SELECT * from login WHERE email=? and password=? LIMIT 1",[email,pass],function(err, rows, fields){
if(rows.length != 0){
data["Data"] = "Successfully logged in..";
res.json(data);
}else{
data["Data"] = "Email or password is incorrect.";
res.json(data);
}
});
});
使用app.post(“/url”,function)中,我们可以做URL路由,并根据需要获取或发布数据
首先将通过使用“req.body”(即:req.body.email&req.body.password)获取发布的数据。
现在使用查询中的数据来检查用户是否存在,并请求返回响应
然后通过在终端中键入以下命令安装所有必需的依赖关系(即express,express-session和body-parser)
npm install
现在,使用以下命令运行服务器
node server.js
在浏览器输入localhost:8080中可以看到内容
参考资料:
https://code.ciphertrick.com/2015/02/25/get-post-requests-in-node-js-using-express-4/