vue请求后端数据和跨域问题解决

 更新时间:2023年05月17日 08:25:00   作者:萧熙  
这篇文章主要介绍了vue请求后端数据和跨域问题,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

最近遇到的一个问题 后端写好的接口,前端怎么获取数据呢?

这是我后端的接口:GET 接口

这是我前端运行的项目地址:

简单使用:

咱门前端使用 颇受好评的 axios 来发起请求

这是它的官网:https://www.axios-http.cn/

不过要在vue中使用它,就需要先安装 打开终端 输入一下命令

npm install axios

然后在需要使用的 页面 <script> 中标签 引入 axios就行了

import axios from 'axios'

然后在methods中 创建一个函数:代码如下

a() {
      // const axios = require('axios');  // 官方给出的例子 这段话类似于 import
      axios.get('http://localhost:8088/user') // 这里填写后端的地址
        .then(function (response) {
          // 处理成功情况
          console.log(response);
        })
        .catch(function (error) {
          // 处理错误情况
          console.log(error);
        })
        .then(function () {
          // 总是会执行
        });
    }

require 和 import 具体详情,可以查阅相关资料

写完之后在 div中写一个 <button> 标签<button @click="a()">点我 a</button>

打开控制台可以看到,data里面有三条数据

看到这里,我们就请求到了后端数据(后端一定要允许跨域请求)

改进

  写完你这里例子之后,又写了几个请求,发现呢,每次都要复制黏贴,还有好多重复性代码,就想到,应该可以把这个axios封装一下

先去网上查找一些封装的案例,发现,,,,看不懂(并不难的鸭子)

  然后自己手动 简单封装一下 axios

在src 目录下新建一个 utils 目录,然后再建一个 request.js 文件在里面写一下代码

/*引入axios*/
import axios from 'axios'
const request = axios.create({
    baseURL: 'http://localhost:8088' // 接口服务器地址
  });
//   // 创建实例后修改默认值
//   instance.defaults.headers.common['Authorization'] = AUTH_TOKEN;
// //前端采用export.default,在写后端代码时用module.export
export default request

在src中新建一个 api 目录, 在目录中新建有一个 demo.js ( 根据接口作用取名字,这里为测试demo )写入以下代码

import request from '../utils/request' // 引入 request 类(模块)
export function getList(params={}) {
    return request({
        methods:'GET',
        url:'/user',
        params,
    })
}

在url中,可以直接 用 / 和接口 地址拼接 然后设置methods 方式 ,axios 中默认为 get,getList是一个方法名

回到vue的页面上,在我们需要的vue中写 import { getList } from "../api/demo" 导入这个方法

然后再methods中创建一个函数 ,重写这个方法

b(){
      getList().then(function(response){
        console.log(response);
      }).catch(function(error){
        console.log(error);
      });
    }

最后这个方法可以用于点击事件,如果与crated中,就必须是使用回调函数

getList(){
    listUser()
      .then(response =>{ // 回调函数使用箭头函数来使用。(responde)=>{}
        this.tableData = response.data;
      })
    },

跨域问题解决:

  凡事不要慌,能解决的事,那都不是事~

  我是在后端Controller 层加了 @CrossOrigin 注解

  跨域报错:

如有问题,后续更新,先记录一下

到此这篇关于vue请求后端数据和跨域问题的文章就介绍到这了,更多相关vue请求后端数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue 文件切片上传的项目实现

    vue 文件切片上传的项目实现

    本文主要介绍了vue 文件切片上传的项目实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • vue项目页面嵌入代码块vue-prism-editor的实现

    vue项目页面嵌入代码块vue-prism-editor的实现

    这篇文章主要介绍了vue项目页面嵌入代码块vue-prism-editor的实现,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • LRU算法在Vue内置组件keep-alive中的使用

    LRU算法在Vue内置组件keep-alive中的使用

    LRU算法全称为least recently use 最近最少使用,核心思路是最近被访问的以后被访问的概率会变高,那么可以把之前没被访问的进行删除,维持一个稳定的最大容量值,从而不会导致内存溢出。
    2021-05-05
  • uni-app 开发微信小程序定位功能

    uni-app 开发微信小程序定位功能

    这篇文章主要介绍了uni-app 开发微信小程序定位,通过使用onLocationChange方法持续监听地址,根据定位精度字段判断是否使用此次定位的经纬度,需要的朋友可以参考下
    2022-04-04
  • 搭建vue3项目以及按需引入element-ui框架组件全过程

    搭建vue3项目以及按需引入element-ui框架组件全过程

    element是基于vue.js框架开发的快速搭建前端的UI框架,下面这篇文章主要给大家介绍了关于搭建vue3项目以及按需引入element-ui框架组件的相关资料,文中通过图文以及代码介绍的非常详细,需要的朋友可以参考下
    2024-02-02
  • Vue项目中使用flow做类型检测的方法

    Vue项目中使用flow做类型检测的方法

    这篇文章主要介绍了Vue项目中使用flow做类型检测的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • Vue.js进行查询操作的实例详解

    Vue.js进行查询操作的实例详解

    这篇文章主要介绍了Vue.js进行查询操作的实例详解的相关资料,需要的朋友可以参考下
    2017-08-08
  • vue3项目使用pinia状态管理器的使用

    vue3项目使用pinia状态管理器的使用

    Pinia是一个专为Vue3设计的现代化状态管理库,本文主要介绍了vue3项目使用pinia状态管理器的使用,具有一定的参考价值,感兴趣的可以了解一下
    2024-05-05
  • web面试vue自定义组件及调用方式

    web面试vue自定义组件及调用方式

    这篇文章主要介绍了web面试中常问到的关于vue自定义组件及调用方式,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-09-09
  • 一起来做一下Vue全局提示组件

    一起来做一下Vue全局提示组件

    前端开发的时候,在项目中引入组件以及使用是非常常见操作,下面这篇文章主要给大家介绍了关于Vue全局提示组件的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06

最新评论