前后端通过axios通信,使前端能通过axios来调用后端接口

1. 前端安装axios
在前端Terminal中输入npm install axios或者vue add axios(根据vue版本来选择)来安装axios

2. 前端导入axios
<script></script>标签中导入axiosimport axios from 'axios';
3. 前端配置axios
配置axios来调用后端接口。注意:可根据不同应用场景将配置代码添加到不同地方。这里以页面刷新就调用接口来举例。该配置写在前端中。

mounted() {const _this = thisaxios.get('http://localhost:8181/getAllBooks').then(function (resp) {console.log(resp)_this.books = resp.data})}

说明:
const _this = this:this为data中的数据,如果在resp方法中使用this,则指的是resp。
http://localhost:8181/getAllBooks:这是后端接口地址。
resp:后端接口返回的数据。

4. 后端解决跨域问题
由于前端使用的是8080端口,为了不与前端端口重合,这里后端使用了8181端口,那么前端想在8080端口调用后端8181端口是无法实现的,这时候就需要在后端中解决跨域问题。跨域问题解决方法。
我们这里使用@CrossOrigin注解方式解决跨域问题。

@RestController
@CrossOrigin
public class bookController {@Autowiredprivate bookService bookService;@RequestMapping(value = "getAllBooks",method = RequestMethod.GET)public List getAllBooks(){List<bookPojo> allBooks = bookService.getAllBooks();return allBooks;}
}

说明:
@CrossOrigin注解标注在类上,说明这个类中的所有接口都可以支持跨域调用。

axios传值方式

  1. 后端@RequestParam传值方式(即问号传值方式):
axios.get('http://localhost:8181/getAllBooks?pageNum='+pageNum+'&pageSize='+pageNum+'').then((res) => {_this.tableData = res.data.data})

说明:在url中可以用'+value+'方式动态传值。

  1. 后端@PathVariable传值:
axios.get('http://localhost:8181/getBook/1).then((res) => {_this.tableData = res.data.data})

说明:1就是传进去的值。

  1. 后端@RequestBody传值:
axios.put('http://localhost:8181/updateBook',this.form).then((res) => {if(res.data.code == 1000){this.dialogFormVisible = falsealert("数据更新成功!");this.$router.go(0)}})

说明:this.form就是请求参数

axios四种传值方式

  1. GET
axios.get('http://localhost:8181/getAllBooks?pageNum='+pageNum+'&pageSize='+pageNum+'').then((res) => {_this.tableData = res.data.data})
  1. PUT
axios.put('http://localhost:8181/updateBook',this.form).then((res) => {if(res.data.code == 1000){this.dialogFormVisible = falsealert("数据更新成功!");this.$router.go(0)}})
  1. DELETE
axios.delete('http://localhost:8181/deleteBookById/'+this.id+'').then((res) => {if(res.data.code == 1000){this.$router.go(0)}})
  1. POST
axios.post('http://localhost:8181/addBook',this.ruleForm).then((res) => {// console.log("添加数据返回结果为:",res)if(res.data.code == 1000){alert('提交成功!');this.$router.push('/page01')}else {alert('提交失败,请联系管理员!');}})

【前端+后端】前后端分离之——前后端axios通信相关推荐

  1. 为什么ajax请求进不来后端路由_为什么要前后端分离?前后端分离的优点是什么?...

    随着互联网的高速发展以及IT开发技术的升级,前后端分离已成为互联网项目开发的业界标准使用方式.在实际工作中,前后端的接口联调对接工作量占HTML5大前端人员日常工作的30%-50%,甚至会更高.接下来 ...

  2. 前后端分离与前后端不分离的区别

    前后端不分离 在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高. 这种应用模式比较适合纯网页应用,但是当后端对 ...

  3. 【Web】JavaWeb项目为什么我们要放弃jsp?为什么要前后端解耦?为什么要前后端分离?2.0版,为分布式架构打基础。 - CSDN博客

    前戏 前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+tomcat的方式(也可以中间加一个nodejs)有效的进行解耦, 并且前后端分离会为以后的大型分布式架构.弹性计算架构.微服务 ...

  4. shiro前后端分离_为什么要前后端分离?前后端分离的优点是什么?

    随着互联网的高速发展以及IT开发技术的升级,前后端分离已成为互联网项目开发的业界标准使用方式.在实际工作中,前后端的接口联调对接工作量占HTML5大前端人员日常工作的30%-50%,甚至会更高.接下来 ...

  5. vue后端必须接口吗_前后端分离模式,后端说开发完才能给接口文档,合理吗

    背景: 汇总了下老王在其他平台的原创回复,欢迎关注老王原创公众号[软件老王],关注不迷路. 一.后端开发完接口才给出接口文档,合理吗? 本人所在的项目组做项目过程中,后端不会先给出接口文档,而是要等他 ...

  6. Web前后端:如何分离,如何解耦?

    摘要:在本文中我们一起来探讨一下为什么要在软件开发中进行前后端的分离,如何做到前后端分离,如何解耦. 简单地说,就是要把复杂的问题简单化,把一个从0到N的问题转化为N个0到1的问题.另一个相近的说法就 ...

  7. rsa前后端加密流程_不懂前后端分离?这篇就够了

    一 传统的开发模式 前后端分离前我们的开发协作模式一般是这样的: 前端写好静态的HTML页面交付给后端开发.静态页面可以本地开发,也无需考虑业务逻辑只需要实现View即可. 后端使用模板引擎去套模板, ...

  8. 从前后端分离到前后端整合的“退步”(一)项目结构

    系列文章目录 从前后端分离到前后端整合的"退步"(一)项目结构 从前后端分离到前后端整合的"退步"(二)pom.xml文件配置 Spring Boot + Vu ...

  9. 从前后端分离到前后端整合的“退步”(二)pom.xml文件配置

    系列文章目录 从前后端分离到前后端整合的"退步"(一)项目结构 从前后端分离到前后端整合的"退步"(二)pom.xml文件配置 Spring Boot + Vu ...

最新文章

  1. 扩增子统计绘图1箱线图:Alpha多样性
  2. 2021年AI关键趋势,AI芯片初创公司可能发生并购
  3. 常见的一些功能测试用例
  4. 关于Class.forName()
  5. 详细解析RxAndroid的使用方式
  6. Photoshop操作秘籍
  7. sqlserver2005查询表字典
  8. python信号端点检测_语音端点检测(Voice Activity Detection,VAD)
  9. 三星有钱还是阿里有钱?
  10. true launch bar 完美运行版——快速启动工具
  11. 计算机图形学入门(十七)-光线追踪(蒙特卡洛积分与路径追踪)
  12. SymPy学习之Plotting Module
  13. WordPress文章发布失败或更新失败解决方法
  14. jQuery - 实例- 小小动画导航栏
  15. PageAdmin CMS建站系统最新版本(V4.0.09)体验评测
  16. mysql内核架构_热血江湖mysql内核技术之门派数据库表结构说明
  17. 【git版本控制】| git版本控制操作命令(全)
  18. stm32+esp8266 GET请求心知天气的简单方法
  19. 数据结构二叉树之Huffman编码
  20. 如何在智星云主机配置 conda 和 pip 源

热门文章

  1. 翻转课堂在语文教学中的案例
  2. 利用QQ文件中转站给多个好友或群友传送文件
  3. 罗技 UE3100 蓝牙耳机使用
  4. 使用jupyter notebook运行卷积神经网络出现的版本问题
  5. List和set集合:交集、差集、合集的区别retainAll,removeAll、addAll
  6. 顺丰速运——深圳大数据部一面(18分钟)
  7. [笔记]Centos/Ubuntu/Windows/Docker 安装使用Aria2及Aria2基本使用
  8. Simplicity Studio开发环境安装
  9. Power Supply驱动框架
  10. 最优化:一维搜索的Wolfe条件与Goldstein条件