Nodejs和axios的前后端通信

Nodejs和axios的前后端通信

前端axios的使用

  1. 首先在mian.js里面引入axios

import axios from 'axios';
Vue.prototype.$axios = axios;

  1. 在router路由里面设置路径,children :[这里是二级路由是在admin下的路由]
 {
    path: '/login',
    name: 'Login',
    component: ()=> import('@/views/Login.vue')
  },
  {
    path: '/admin',
    name: 'Admin',
    component: ()=> import('@/views/Admin.vue'),
    children : [
      // 当点击职位编辑的时候,会给当前页面的url后面添加上postedit 然后在这里 根据path进行匹配路由,根据指定的路由进入指定页面
      { path : 'postedit' , component : ()=> import('@/views/Admin_postedit.vue')} ,
    ]
  },
]
  1. 写配置文件vue.config.js
module.exports = {
    devServer : {
        proxy : {
            //在vue的axios中只有/api开头的路由; 就会全部拼接到target的URL的后面
            '/api' : {
                target : 'http://localhost:3000',
                changeOrigin : true
            }
        }
    },
};
  1. axios设置URL
//这里设置的URL去和后端的接口匹配,匹配成功则进行通信 
  this.$axios.post('/api/post/add' , param , 

        }).then((res)=>{

        }).catch(()=>{

        })
    },

后端nodejs的接口

  1. 连接服务器并启动服务器
var express = require('express');
var app = express();
//这里的URL和端口,要和前端里的配置文件相匹配
app.listen(3000 , 'localhost',(err)=>{
    if(err){
        console.log('服务器启动失败');
        return;
    }
    console.log('服务器启动成功');
});
  1. 设置一级路径, 当前端的请求过来时,会先经过一级路由进行匹配;然后在进行路由的匹配
//引入在router文件下面的post路由;
var postRouter = require('./routes/post')
//一级路由
app.use('/api/post',postRouter)
  1. 匹配路由:设置造一级路由引入的路由函数
//把第一个参数直接拼接到 /api/post 的后面 ,
router.post('/add', (req,res,next)=>{
     //获取前端发来的数据
     //post请求要使用req.body 请求数据
     //get请求要使用req.query 请求数据
    var page = req.query.page;
    var count = 10;
       //对数据库进行查询,并且用res发给前端请求的数据
    PostModel.find().then((infos)=>{
        if(infos.length){
            res.json({
                code : 0,
                errmsg : 'ok',
                infos : infos,
            })
        }
        else{
            res.json({
                code : -1 ,
                errmsg : 'nothing',
                infos :'',     
            })
        }
    }).catch((err)=>{
        res.json({
            code : -1,
            errmsg : 'nothing',
            infos :'',
            
        });
    })
}));
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值