node做的简单网络接口用axios请求教学易懂

举报
前端老实人 发表于 2021/09/06 11:07:52 2021/09/06
【摘要】 非常简单直接看代码,不懂的直接扣我后端是node的express框架// 引入expressconst express = require('express');//这个组件用于接收post数据const bodyParser = require('body-parser');// 创建服务器对象const app = express(); // 注册中间件app.use(bodyParse...

非常简单直接看代码,不懂的直接扣我

后端是node的express框架

// 引入express
const express = require('express');
//这个组件用于接收post数据
const bodyParser = require('body-parser');
// 创建服务器对象
const app = express();
 
// 注册中间件
app.use(bodyParser.urlencoded({extended:false}))
app.use(bodyParser.json({type:'application/*+json'}))
//本地服务器解决跨域,不可缺
app.all('*',function(req,res,next){
  res.header('Access-Control-Allow-Origin','*')
  res.header('Access-Control-Allow-Headers','Content-Type')
  res.header('Access-Control-Allow-Methods','*');
  res.header('Content-Type','application/json;charset=utf-8');
  next();
})
// 处理get请求
app.get('/data',(req,res)=>{
  // 设置请求头,解决跨域,上面已经都解决了
  // res.setHeader('Access-Control-Allow-Origin','*');
  res.json({
    todos:[
      {
        "id":1,
        "name":"chen",
        "age":20,
        "sex":"男"
      },
      {
        "id":2,
        "name":"xin",
        "age":10,
        "sex":"女"
      },
    ]
  })
})
 
// req后台向前台请求
// res后台向前台响应
app.post('/user',(req,res)=>{
  res.json({
    user:req.body,//前端传什么数据,后台就传什么数据给你
    msg:'post请求成功',
  })
  console.log('接收',req.body);
})
//开启监听
app.listen(4000,()=>{
  console.log('4000端口已经启动。。。');
})

前端页面

<script>
  import axios from 'axios'
  // console.log(axios.prototype);
export default {
  name:'AxiosBase',
  data() {
    return {
      list:''
    }
  },
  methods: {
    getData(){
      // 发送基本请求
      // axios.get('http://localhost:4000/data')
      // .then((res)=>{
      //   console.log(res);
      // })
      // .catch((err)=>{
      // })
 
      // axios默认get请求
      // axios('http://localhost:4000/data')
      // .then((res)=>{
      //   console.log(res);
      // })
      // .catch((err)=>{
      // })
 
      // 指定get请求的参数
      // axios('http://localhost:4000/data?id=1')
      // .then((res)=>{
      //   console.log(res);
      // })
      // .catch((err)=>{
      // })
 
      // 这里加的这个id没有用的需要后端提供接口
      axios('http://localhost:4000/data',{
        // 指定get请求的参数,进行拼接
        params:{
          id:1
        }
      })
      .then((res)=>{
        // console.log(res);
        this.list = res.data
      })
      .catch((err)=>{
      })
      
    },
    postData(){
      // 后台是以Form Data方式处理数据的
      // 不用这个URLSearchParams,post后台收不到这个数据,处理方式有很多种
      var stu = new URLSearchParams()
      // 设置值    键名    值
      stu.append('name','123'),
      stu.append('sex','男')
 
      axios.post('http://localhost:4000/user',stu)
      .then((res)=>{
        console.log(res);
      })
      .catch((err)=>{
      })
    }
 
  },
}
</script>
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。