nodeJS+mysql写一个简易的接口

代码

var http = require('http'); // 引入模块
var mysql = require('mysql'); // 引入模块
var connection = mysql.createConnection({
    host:'localhost', //主机地址
    user:'root', // 用户名
    password:'root', //密码
    database:'demo' //数据库名
})
connection.connect()
http.createServer(async function(req,res){
    res.setHeader('access-control-allow-origin', '*'); // 跨域
    res.setHeader('Access-Control-Allow-Headers', 'Content-type');
    res.writeHead(200, {'Content-Type': 'utf-8'});
    var body = ''
    req.on('data', function (chunk) {
        body+= decodeURI(chunk); //一定要使用+=,如果body=chunk,因为请求favicon.ico,body会等于{}
        body = eval('('+body+')')
    });
      req.on( 'end',async  ()=> {
        // 解析参数
        if(req.method=='POST'){
            let  s = await url(req.url,body) // body是传的参数
            res.write(JSON.stringify(s));
            res.end();
        }else{
            res.write('123');
            res.end();
        }
      });

}).listen(9808) // 9808是端口号
// 判断接口
function url(url,data){
    switch(url){
        case '/list':
            return list()
    }
}
function list(){
    // 查询数据库
    return server('SELECT * from user')
}
// 操作数据库
async function server(sql){
    let s
    await new Promise(resolve=>{
        connection.query(sql,  (error, results, fields)=> {
            if (error) throw error;
            resolve(results)
        })
    })
    .then((res)=>{
        s = res
    })
    return s
}

运行:node 文件名
结果在这里插入图片描述

一个vue+node写的一个后台管理程序点击

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值