在Node.js中的GET和POST请求使用Express

  |   Node.js

在本教程中,我们将学习如何使用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/