node express框架 post请求 连接mysql

post 请求

  • 在js文件中
    var express = require('express');
    var app = express();
    // 考虑到post的请求的参数在请求体内 req.body 所以要安装body-parser来解析请求体中的数据
    // 安装body-parser的命令 npm install body-parser --save
    var bodyparser = require('body-parser');

    // 以解析表单提交数据为例 application/x-www-form-urlencoded
    // extended: false 值是false时解析值是“String”或“Array” 值是true的时候可以解析任意类型的数据
    var urlencodeParser = bodyparser.urlencoded({extended: false})


    app.post('/doLogin', urlencodeParser, function(req, res) {
        // 这时通过 req.body就可以拿到请求体中的数据了
    })


    app.listen(3000)
    <!-- 这里是客户端的post请求 action="/doLogin"请求地址  method="post"请求方式 -->
    <form action="/doLogin" method="post">
        账号: <input type="text" name="username">
        <br>
        <br>
        密码: <input type="text" name="psw">
        <br>
        <br>
        <input type="submit" value="登录">
    </form>

sql语句增删改查

  • 增 INSERT INTO 表名称 (列1, 列2 …) VALUES (值1, 值2 …)
    insert into 意思是插入 VALUES值
  • 删 DELETE FROM 表名称 where 删除条件
  • 改 UPDATE 表名称 SET 列=“新值” where 列=“条件”
  • 查 SELECT * FROM 表名称 where 条件 (可以通过&&设置多个条件) (*表示查询所有列) SELECT 列名 FROM 表名称 where 条件

nodejs连接数据库的方法

安装mysql
命令 npm install mysql --save

    var mysql = require('mysql');
    var db = mysql.createConnection({
        host: "localhost", // 连接域名
        port: "3306", // 端口号
        user: "root", // 超级管理员
        password: "123456", // 数据库密码
        database: "test" // 数据库名称
    })
    db.connect();
    db.query('sql语句', function(err, data) {
        if(err) {
            console.log(err)
        } else {
            // sql执行成功后获取到的数据
            var result = data
        }
    })
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的示例代码,实现了一个基本的博客系统。 首先,我们需要创建一个新的node.js项目,并在项目中安装expressmysql模块。 ```bash mkdir blog cd blog npm init -y npm install express mysql --save ``` 然后,我们需要创建一个app.js文件,并在其中配置express应用程序。 ```javascript const express = require('express'); const mysql = require('mysql'); const app = express(); // 配置中间件 app.use(express.urlencoded({ extended: false })); app.use(express.json()); app.use(express.static('public')); // 连接数据库 const db = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'blog' }); db.connect((err) => { if (err) { console.error('error connecting: ' + err.stack); return; } console.log('connected as id ' + db.threadId); }); // 设置路由 app.get('/', (req, res) => { db.query('SELECT * FROM posts', (err, results) => { if (err) throw err; res.render('index.ejs', { posts: results }); }); }); app.get('/post/:id', (req, res) => { const id = req.params.id; db.query('SELECT * FROM posts WHERE id = ?', [id], (err, results) => { if (err) throw err; res.render('post.ejs', { post: results[0] }); }); }); app.get('/create', (req, res) => { res.render('create.ejs'); }); app.post('/create', (req, res) => { const title = req.body.title; const content = req.body.content; db.query('INSERT INTO posts SET ?', { title, content }, (err, results) => { if (err) throw err; res.redirect('/'); }); }); // 启动服务器 app.listen(3000, () => { console.log('Server started on port 3000'); }); ``` 在上面的代码中,我们使用了ejs模板引擎来渲染HTML页面。我们需要在项目中创建一个views文件夹,并在其中创建index.ejs、post.ejs和create.ejs文件。 index.ejs: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Blog</title> </head> <body> <h1>Blog</h1> <ul> <% for (let post of posts) { %> <li> <a href="/post/<%= post.id %>"><%= post.title %></a> </li> <% } %> </ul> <a href="/create">Create a new post</a> </body> </html> ``` post.ejs: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title><%= post.title %></title> </head> <body> <h1><%= post.title %></h1> <p><%= post.content %></p> <a href="/">Back to index</a> </body> </html> ``` create.ejs: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Create a new post</title> </head> <body> <h1>Create a new post</h1> <form action="/create" method="POST"> <input type="text" name="title" placeholder="Title"> <textarea name="content" placeholder="Content"></textarea> <button type="submit">Create</button> </form> </body> </html> ``` 最后,我们需要在项目中创建一个public文件夹,并在其中创建一个style.css文件,来为页面添加样式。 ```css body { font-family: Arial, sans-serif; } h1 { font-size: 32px; font-weight: bold; } ul { list-style: none; padding: 0; } li { margin-bottom: 10px; } a { text-decoration: none; color: blue; } input[type="text"], textarea { display: block; width: 100%; margin-bottom: 10px; } button[type="submit"] { display: block; margin-top: 10px; } ``` 以上就是一个简单的node.js+express+mysql实现博客系统的示例代码,可以根据实际情况进行调整和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值