vue项目利用node连接MySQL数据库

vue项目中利用axios发起请求

    <div class="home">
        <p>this is home.vue</p>
        <p>
            <button @click="changeMsg">点击</button>
        </p>
    </div>
    methods:{
        changeMsg () {
            axios.get('http://localhost:3000/').then((response) => {
                console.log(response)
            })
        }
    }

node连接MySQL

在vue项目中新建server目录,在此目录下新建index.js文件

let http =require('http')
let mysql = require('mysql');
const server=http.createServer(function(req,res){
    res.statusCode=200
    res.setHeader("Access-Control-Allow-Origin", "*");
    res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild');  
    res.setHeader("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");  
    res.setHeader("X-Powered-By", ' 3.2.1')  
    res.setHeader("Content-Type", "application/json;charset=utf-8");
    res.setHeader('Content-Type','text/plain;charset=utf-8')
})
// 创建一个数据库连接池
let connection = mysql.createConnection({
    host:'localhost',
    user:'root',
    password:'',
    database:'onlineflower'
});
connection.connect(function(err){
    if(err){
        console.log('error')
    }
    console.log('connect success!')
});//连接
server.on('request',function(request,response){
    let url=request.url
    if(url==='/'){
        // 查询数据
        connection.query('select * from user',function(err,row){
            if(err){
                 console.log(err)            
            }
            console.log(typeof row)
            let data = JSON.stringify(row)
            response.end(data)
        })
    }
})
server.listen(3000,()=>{
    console.log('服务器开启成功!')
})

解决跨域请求

    res.setHeader("Access-Control-Allow-Origin", "*");
    res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild');  
    res.setHeader("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");  
    res.setHeader("X-Powered-By", ' 3.2.1')  
    res.setHeader("Content-Type", "application/json;charset=utf-8");

启动后台端口

另起命令行,打开server

node index.js

在这里插入图片描述

展示
在这里插入图片描述

  • 13
    点赞
  • 87
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值