首页 > 其他分享 >最近遇到的一个问题 后端写好的接口,前端怎么获取数据

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

时间:2023-05-17 13:56:58浏览次数:37  
标签:function axios 后端 request 接口 获取数据 import response

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

跨域问题解决:

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

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

  跨域报错:

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

标签:function,axios,后端,request,接口,获取数据,import,response
From: https://www.cnblogs.com/weilianmao/p/17408518.html

相关文章

  • 如何调用api接口获取其中的数据
    ​ part1.API接口可以运用到的场景,主要包括以下几个方面:1. 应用程序集成:API可以使不同的应用程序相互之间进行集成,比如将某个应用程序的数据传递给另一个应用程序,或者调用另一个应用程序的功能。2. 数据共享:API可以用来共享数据,从而使不同的应用程序可以访问同一组数据......
  • Set接口和常用方法+HashSet分析
    1. Set接口基本介绍  5171)无序(添加和取出的顺序不一致),没有索引[后面演示]2)不允许重复元素,所以最多包含一个null3) JDK API中Set接口的实现类有:2. Set 接口的常用方法和 List 接口一样, Set 接口也是 Collection 的子接口,因此,常用方法和 Collection 接口一样. ......
  • Map接口和常用方法
    1. Map 接口实现类的特点 [很实用]  530注意:这里讲的是JDK8的Map接口特点Map java1) Map与Collection并列存在。 用于保存具有映射关系的数据:Key-Value2) Map中的key和value可以是任何引用类型的数据,会封装到HashMap$Node对象中3) Map中的key不允许重复,原因和HashSet一......
  • java 后端
    JFinal框架web.xml--接管所有请求--com.jfinal.core.JFinalFilterconfigClass设置配置文件数据层看着和c#比sql还是硬编码能看到,只是帮你事先生成。这个都没看到sql,感觉是用的时候再去生成。ModelModelAextendsBaseModelA<ModelA>extendsModel<MextendsModel>renderJson......
  • 三种方式从jdbc中获取数据库表字段信息
    一、整体代码1、method1:执行select语句获取,select*fromdimswhere1=22、method2:执行showcreatetable获取,showcreatetabledims3、method3:从jdbc数据库连接获取importlombok.extern.slf4j.Slf4j;importjava.sql.*;importjava.util.Properties;/***从jdbc......
  • 关于接口可维护性的一些建议
    作者:京东科技D瓜哥在做新需求开发或者相关系统的维护更新时,尤其是涉及到不同系统的接口调用时,在可维护性方面,总感觉有很多地方差强人意。一些零星思考,抛砖引玉,希望引发更多的思考和讨论。总结了大概有如下几条建议:在接口注释中加入接口文档链接将调用接口处写上被调用接......
  • 基于”python+requests模块“接口自动化的基本方法使用
    1,接口自动化测试1.1概念接口测试:是对系统或者组件之间的接口进行测试,主要是校验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系。接口自动化测试:让程序代替人为对接口项目进行自动验证测试的过程1.2实现方式1,工具(jmeter,postman)2,代码(python-requests)1.3测试工具缺点......
  • Java-Day-22( 线程一:相关概念 + 继承 Thread 类 + 实现 Runnable 接口 + JConsole 监控
    Java-Day-22线程相关概念程序:是为完成特定任务、用某种语言编写的一组指令的集合(就是平常所写代码)进程:运行中的程序,例如,打开一个软件就启动一个进程,操作系统就会给每个启动的软件分配一新的内存(活动进程占用的物理内存)空间进程是程序的一次执行过程,或是正在运......
  • 后端如何节省代码占用空间
    publicConnectionconnect;publicThesql()throwsException{Class.forName("com.mysql.jdbc.Driver");Stringurl="jdbc:mysql://localhost:3306/pddabc?useUnicode=true&characterEncoding=utf8";Stringuse......
  • Fast-GRPC: 用python轻松开发grpc接口
    简介Fast-GRPC旨在帮助开发者更加轻松快捷地使用Python开发gRPC接口。它的特点包括简化步骤、简单上手、快速开发,同时支持异步和同步代码,以及支持Middleware,灵感来自FastAPI。安装需要python3.7+pipinstallpython-fast-grpc快速上手下面是一个简单的Fast-GRPC示......