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

这是我后端的接口: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

  1. 在src 目录下新建一个 utils 目录,然后再建一个 request.js 文件
  2. 在里面写一下代码
    /*引入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
  3. 在src中新建一个 api 目录, 在目录中新建有一个 demo.js   ( 根据接口作用取名字,这里为测试demo )
  4. 写入以下代码
    import request from '../utils/request' // 引入 request 类(模块)
    
    export function getList(params={}) {
    return request({
    methods:'GET',
    url:'/user',
    params,
    })
    }
  5. 在url中,可以直接 用 /  和接口 地址拼接 然后设置methods 方式 ,axios 中默认为 get,getList是一个方法名
  6. 回到vue的页面上,在我们需要的vue中写  import { getList } from "../api/demo" 导入这个方法
  7. 然后再methods中创建一个函数  ,重写这个方法 
    b(){
    getList().then(function(response){
    console.log(response);
    }).catch(function(error){
    console.log(error);
    });
    }
  8. 最后这个方法可以用于点击事件,如果与crated中,就必须是使用回调函数
getList(){
listUser()
.then(response =>{ // 回调函数使用箭头函数来使用。(responde)=>{}
this.tableData = response.data;
})
},

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

vue请求后端数据和跨域问题的更多相关文章

  1. 解决Django+Vue前后端分离的跨域问题及关闭csrf验证

      前后端分离难免要接触到跨域问题,跨域的相关知识请参:跨域问题,解决之道   在Django和Vue前后端分离的时候也会遇到跨域的问题,因为刚刚接触Django还不太了解,今天花了好长的时间,查阅了 ...

  2. Nginx+Springboot+Vue 前后端分离 解决跨域问题

    1:前端vue 写完 打包 npm run build prod 2: 后端api 写完打包 springboot mvn package -Dmaven.test.skip=true 3: ngin ...

  3. 【笔记】总结Springboot和Vue前后端分离的跨域问题

    跨域一直是个很玄学的问题,SSM的时候又得前后端一起配置,sb的时候又不用. 前端 axios普通get请求 submitForm() { var v=this; this.$axios({ meth ...

  4. Vue.js——基于$.ajax实现数据的跨域增删查改

    概述 之前我们学习了Vue.js的一些基础知识,以及如何开发一个组件,然而那些示例的数据都是local的.在实际的应用中,几乎90%的数据是来源于服务端的,前端和服务端之间的数据交互一般是通过ajax ...

  5. Vue.js——基于$.ajax实现数据的跨域增删查改

    转自:https://www.cnblogs.com/keepfool/p/5648674.html 概述 之前我们学习了Vue.js的一些基础知识,以及如何开发一个组件,然而那些示例的数据都是loc ...

  6. VUE系列三:实现跨域请求(fetch/axios/proxytable)

    1. 在 config/index.js 配置文件中配置proxyTable 'use strict' // Template version: 1.3.1 // see http://vuejs-t ...

  7. 路飞前台全局css 全局配置文件,安装axios,安装vue-cookies,安装elementui,安装bootstrap和jq,后台主页模块表设计,后台主页模块轮播图接口,录入数据,跨域问题详解

    目录 路飞前台全局css 全局配置文件,安装axios,安装vue-cookies,安装elementui,安装bootstrap和jq,后台主页模块表设计,后台主页模块轮播图接口,录入数据,跨域问题 ...

  8. javascript 跨域请求详细分析(终极跨域解决办法)

    自从我接触前端以来,接手的项目里面很大部分都是前后端分离的,后端只提供接口,前端根据后端接口渲染出实际页面.个人觉得这是一个挺好的模式,前后端各自负责各自的模块,分工明确,而且也给前端更大的发挥空间. ...

  9. vue 请求后台数据2(copy)

    https://blog.csdn.net/vergilgeekopen/article/details/68954940 需要引用vue-resource 安装请参考https://github.c ...

  10. 前后端分离之 跨域和JWT

    书接上回:https://www.cnblogs.com/yangyuanhu/p/12081525.html 前后端分离案例 现在把自己当成是前端,要开发一个前后分离的简单页面,用于展示学生信息列表 ...

随机推荐

  1. 详解数仓中sequence的应用场景及优化

    摘要:本文简单介绍sequence的使用场景及如何修改sequence的cache值提高性能. 本文分享自华为云社区<GaussDB(DWS)关于sequence的那些事>,作者:Arro ...

  2. RPA的价值和优势

    RPA机器人流程自动化(Robotic process automation):能够代替或者协助人类在计算机.RPA手机等数字化设备中完成重复性工作与任务. 只要预先设计好使用规则,RPA就可以模拟人 ...

  3. ⾼性能IO模型:为什么单线程Redis能那么快

      Redis是单线程,主要是指Redis的⽹络IO和键值对读写是由⼀个线程来完成的,这也是Redis对外提供键值存储服务的主要流程.但Redis的其他功能,⽐如持久化.异步删除.集群数据同步等,其实 ...

  4. [ARC152D] Halftree题解

    很好的一道题,即使是我这种菜鸡也感到心潮澎湃. 直觉有余,证明不足.思路有余,推导不足. 无论是什么比赛,对拍都是最有效的查错方式. 本篇题解里的所有图片采用 graph_editor 制作. 题意简 ...

  5. Mybatisplus----DML编程---多记录操作

    批量处理数据: @Test void testDelete(){ //批量按id删除 List<Long> list = new ArrayList<>(); list.add ...

  6. 代码Bug太多?给新人Code Review头都大了?快来试试SpotBugs

    如果你需要一个自动化的工具帮助你或者你的团队发现代码中的缺陷,在提升代码质量同时减少人工Code Review的成本,那这篇文章非常的适合你.本文围绕SpotBugs与Gradle集成,将相关配置和使 ...

  7. 迁移学习(DCCL)《Domain Confused Contrastive Learning for Unsupervised Domain Adaptation》

    论文信息 论文标题:Domain Confused Contrastive Learning for Unsupervised Domain Adaptation论文作者:Quanyu Long, T ...

  8. Django之数据库操作入门

    目录 pycharm连接mysql数据库 pycharm与数据库图形化交互方式 pycharm后台连接数据库 django连接数据库报错 ORM简介 ORM建表 ORM入门之增删改查 ORM写数据 O ...

  9. JS引擎(2):Java平台上JavaScript引擎—Rhino/Nashorn概述

    可以后端开发的 javascript引擎有 Chrome V8 基于C++ java的Rhino引擎(JDK6被植入),Java8 被替换为Nashorn Rhino和Nashorn都是用Java实现 ...

  10. 【贪心算法】NO134 加油站

    134. 加油站 在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升. 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升 ...