Node学习篇:搭建web服务器-连接MySQL(未优化版)

node创建web服务器连接MySQL

在这里插入图片描述
创建node后端项目

mkdir node-notebook

npm初始化

npm init

安装mysql

npm install mysql --save

代码相关

config\mysqlConfig.js


// 数据库配置信息
const config = {
  host:'localhost',
  user:'root',
  password:'',
  database:'notebook'
}

exports.config = config;

index.js

// 引入需要的模块
let http = require('http');
let mysql = require('mysql');
const {
  config
} = require('./config/mysqlConfig.js');

// 创建数据库连接池
let connection = mysql.createConnection(config);

// 连接
connection.connect(function (err) {
  if (err) {
    console.log('error')
  }else{
    console.log('connect success!');
  }
});

// 创建一个web服务器
const server = http.createServer(function (req, res) {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain;charset=utf-8');
  res.setHeader("Access-Control-Allow-Origin", "*");
  res.setHeader("Access-Control-Allow-Headers", "X-Requested-With");
  res.setHeader("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
})

server.on('request', function (request, response) {
  let url = request.url;
  if (url === '/getnoteevent') {
    // 查询数据
    connection.query('select * from t_note_event', function (err, row) {
      if (err) {
        console.log(err);
      }else{
        let data = JSON.stringify(row); //将数据转换为json格式
        response.end(data);
      }
    })
  }
  if(url === '/getalluser'){
    connection.query('select * from t_note_user', function (err, row) {
      if (err) {
        console.log(err);
      }else{
        let data = JSON.stringify(row); //将数据转换为json格式
        response.end(data);
      }
    })
  }
})

// 监听9000端口

server.listen(9000, function () {
  console.log('服务器启动了。。。')
})

启动node

node index.js

node服务自启动

安装supervisor

cnpm install -g supervisor

执行node

supervisor index.js

执行效果

浏览器输入地址:http://localhost:9000/getnoteevent
在这里插入图片描述

浏览器中输入地址:http://localhost:9000/getalluser
在这里插入图片描述

node解决跨域问题

在创建web服务时进行跨域设置

说明:
Access-Control-Allow-Origin 与Access-Control-Allow-Headers的内容要一致,否则会会报跨域的错误

  res.setHeader('Content-Type', "application/json;charset=utf-8");
  res.setHeader("Access-Control-Allow-Origin", "*");
  res.setHeader("Access-Control-Allow-Headers", "*");
  res.setHeader("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值