vue2 通过 axios  访问koa2,从mysql 拿到数据更新vue2中的内容

本文档演示了如何使用Vue2的Axios库从Koa2后端获取MySQL数据库的数据,并将这些数据更新到Vue2应用程序中。通过设置路由、数据库查询和模板渲染,实现了数据的交互。示例包括GET请求获取所有数据、单条数据查询、数据删除、更新以及向Vue2页面传递数据。
摘要由CSDN通过智能技术生成

vue2 通过 axios  访问koa2,从mysql 拿到数据更新vue2中的内容
axios 类似ajax  

注意红色字体

node --inspect index.js (启用debug模式)

node index.js (正常模式)

------index.js----

const Koa = require('koa') 
const app = new Koa()

const views = require('koa-views')
const path = require('path')
 

// 加载模板引擎
app.use(views(path.join(__dirname, './view'), {
  extension: 'ejs'
 //换成这个之后,可以在html中用ejs的语法, map : {html:'ejs'}
}))

const Router = require('koa-router')
let home = new Router()

// mysql access [1]
const dbprocess = require('./async-db')

const cors = require('koa2-cors');

app.use(cors({
    exposeHeaders: ['WWW-Authenticate', 'Server-Authorization', 'Date'],
    maxAge: 100,
    credentials: true,
    allowMethods: ['GET', 'POST', 'OPTIONS'],
    allowHeaders: ['Content-Type', 'Authorization', 'Accept', 'X-Custom-Header', 'anonymous'],
}));
 


// 子路由1
home.get('/', async ( ctx )=>{
  let html = `
    <ul>
      <li><a href="/page/helloworld">/view/helloworld</a></li>
      <li><a href="/page/404">/view/404</a></li>
       <li><a href="/page/delete">/view/delete</a></li>
    </ul>
  `
      
  //ctx.body = html
  
  let xxx={name:'abc',age:30,address:'xi\'an'}
  
  ctx.body=xxx
 
}).get('/all', async ( ctx )=>{
    
  let peoples= await dbprocess.selectAllData()
        .then(m => {
            
             console.log("~~~  get all data");
            return m
        })     
  
  ctx.body=peoples
 
})

// 子路由2
let page = new Router()
page.get('/404', async ( ctx )=>{
  ctx.body = '404 page!'
}).get('/helloworld', async ( ctx )=>{  
   
   
   /*
   //单条查询
    let res,title='abc',
              id  ,
              name ,
              age  ,
              address , 
              salary    ; 
   
    await dbprocess.findUserData([1])
        .then(x => {            
            res=x
            //console.log(res[0]) 
        })
              
    await ctx.render('userejs', {
        title,
        id:res[0]['id'],
        name:res[0]['name'],
        age:res[0]['age'],
        address:res[0]['address'],
        salary:res[0]['salary']                
      })
  */
    // 多条查询
    
 
    let alluser,allusers,title;    
     
    allusers=await selectAllData()     
    
    console.log(allusers) 
          
    await ctx.render('userejs', {
        title:12345,
        id:1,
        name:2,
        age:3,
        address:4,
        salary:5,
        alluser:allusers
      })
    
  
}).get('/delete', async ( ctx )=>{
    //http://localhost:3000/page/delete?id=2
    let ctx_query = ctx.query
    let ctx_querystring = ctx.querystring
    let ar=ctx_querystring.split("=") 
    if(ar[0]==='id'){
        
        //ctx.body=ar[1]
        
        await dbprocess.deleteUserData(ar[1])
        .then(z => {            

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值