zoukankan      html  css  js  c++  java
  • vue 数据请求

    1、配置代理

    config/index.js中

     proxyTable: {
      "/api":{
        target:"http://localhost:3000",
        changeOrigin:true,
        pathRewrite:{
          "^/api":"http://localhost:3000"
        }
      }
    }

    注意:配置完代理后要重启项目

    2、axios 阿可信 阿可西奥斯河

    1、安装

    npm i axios --save

    2、引入

    import axios from "axios"

    3、使用

    // post请求
    axios({
    url:"",
    method:"post",
    data:{}
    }).then(res=>{

    })
    // get请求
    axios({
    url:"",
    method:"get",
    params:{}
    }).then(res=>{

    })

    3、axios封装

    1、在util/request.js中

    import axios from "axios"

    // 登录接口
    export const movie= () => {
    return axios({
      url: "/api/movieList",
      method: "get"
    })
    }

    2、在对应组件页面使用

    import {movie} from "../util/request"

    mounted() {
    movie().then(res=>{
      console.log(res);
      this.movies = res.data.data
    })
    }

    4、拦截器

    // 请求拦截:组件发起请求,配置项先到了请求拦截,请求拦截可以修改请求配置,然后retur n的结果发送给后端
    axios.interceptors.request.use( config =>{
    console.log("========此处是请求拦截器=========");
    console.log(config);
    console.log("==========拦截器结束============");

    // 获取身份信息
    var status = sessionStorage.getItem("status")
    if(status){
      config.status = status
    }
    return config
    })


    // 响应拦截:后端相应数据,先到响应拦截器,拦截器可以处理数据,return的数据就是给组件的数据
    axios.interceptors.response.use((res)=>{
    console.log("========此处是响应拦截器=========");
    console.log(res);
    console.log("==========拦截器结束============");
    if(!res.data.isok){
      alert("请检查账号或密码")
    }
    return res
    })

    5、post请求BUG

    post请求:如果后端接收不到你的数据,如果参数中接收不到文件。可以借助qs解决 1、安装

    npm i qs --save

    2、引入

    import qs from "qs"

    3、使用 3.1、针对于后端收不到数据

      return axios({
      url: "/api/login",
      method: "post",
      data: qs.stringify(user)
    })

    3.2、针对于后端收不到文件

      var form = new FormData()
    for (let i in user) {
      form.append(i, user[i])
    }
    return axios({
      url: "/api/login",
      method: "post",
      data: form
    })
  • 相关阅读:
    Hive分桶bucket
    Error: java.io.IOException: org.apache.hadoop.hdfs.BlockMissingException: Could not obtain block
    接上一篇嵌套循环问题之解决
    RPA自动化机器人uibot之循环嵌套坑
    Chrom谷歌浏览器没网之最全解决办法之一
    (语法糖)列表生成式之怪诞--(暂时无法理解)
    浅析scrapy与scrapy-redis的区别
    浅谈Python中函数式编程、面向对象编程以及古怪的PythonIC
    OpenCV+TensorFlow图片手写数字识别(附源码)
    TensorFlow Object Detection API中的Faster R-CNN /SSD模型参数调整
  • 原文地址:https://www.cnblogs.com/shihaiying/p/14038467.html
Copyright © 2011-2022 走看看