当前位置: 首页 > news >正文

vue使用axios请求后端数据

 前后端分离项目的基础:

前后端跨域访问

vite.config.js中加入

  // 1.为什么要跨域
//因为浏览器的同源策略,不同站点之间访问需要跨域
//实现跨域的方式:server: {proxy: {// 假设要跨域访问的后端 API 地址以 /api 开头'/api': { //表示拦截以/api开头的请求路径target: 'http://localhost:8089/', // 后端服务的实际地址changeOrigin: true,           //是否开启跨域rewrite: (path) => path.replace(/^\/api/, ''),//把/api变成空字符串},},},

 完整vite.config.js文件

import { fileURLToPath, URL } from 'node:url'import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'// https://vitejs.dev/config/
export default defineConfig({plugins: [vue(),],resolve: {alias: {'@': fileURLToPath(new URL('./src', import.meta.url))}},// 1.为什么要跨域
//因为浏览器的同源策略,不同站点之间访问需要跨域
//实现跨域的方式:server: {proxy: {// 假设要跨域访问的后端 API 地址以 /api 开头'/api': { //表示拦截以/api开头的请求路径target: 'http://localhost:8089/', // 后端服务的实际地址changeOrigin: true,           //是否开启跨域rewrite: (path) => path.replace(/^\/api/, ''),//把/api变成空字符串},},},
})

App.vue文件

<template><button @click="handleClick">跨域请求</button>
</template><script setup>
import axios from 'axios'; // 正确从 'axios' 包导入 axios  //将axios请求写在方法里面,通过点击事件调用方法向后端拿数据function  handleClick(){axios.get("api/Axios").then(Response=>{console.log(Response.data);}).catch(error=>{console.log('Error fetching data:',error);},)}
</script><style scoped></style>

 Java中的servlet 服务

需要在maven的pom.xml中导入fastjson

  <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.76</version></dependency>
package Study.day08;import com.alibaba.fastjson.JSON;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@WebServlet("/Axios")
public class Axios extends HttpServlet{@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {Student student=new Student("张三","男",23);req.setCharacterEncoding("utf-8");resp.setContentType("text/json; charset=utf-8");resp.getWriter().println(JSON.toJSON(student));}
}

后端服务访问页面:

 前端成功拿到后端数据:

http://www.lryc.cn/news/428618.html

相关文章:

  • 目标检测 | yolov10 原理和介绍
  • 基于Springboot 和Vue 的高校宿舍管理系统源码
  • 3:2比例的程序员专业显示器,效率提升显著,摸鱼时间又多了
  • vue3 cascader省市区三级联动如何指定字段,如何根据id查到对应的名字
  • 算法4:前缀和(上)
  • 美国政府紧急应对三星Galaxy手机安全漏洞
  • 看 逆行人生
  • 0819、0820梳理及一些面试题梳理
  • HttpUtils工具类(一)常见的HttpUtils工具类及如何自定义java的http连接池
  • 使用 Lombok 遇到一个问题
  • Linux基础环境开发工具gcc/g++ make/Makefile
  • ES 模糊查询 wildcard 的替代方案探索
  • Linux安装MQTT 服务器(图文教程)
  • 【TCP】核心机制:延时应答、捎带应答和面向字节流
  • 题解:AT_abc352_e [ABC352E] Clique Connect
  • 【代码随想录训练营第42期 Day32打卡 - 从零开始动态规划 - LeetCode 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯
  • 源码构建LAMP
  • Java:封装树结构
  • linux内核 pintrl子系统
  • 网络通信要素
  • day03_作业
  • pyinstaller程序打包,资源嵌入exe
  • 如何使用 OCR 和 GPT-4o mini 轻松提取收据信息
  • go 事务
  • C,数据结构,多进程线程,网络编程面试题总结
  • 【Cesium学习】着色器详解【待进一步总结】
  • 【3】静态路由(Static routing)
  • 阿里声音项目Qwen2-Audio的部署安装,在服务器Ubuntu22.04系统——点动科技
  • RAG(检索增强生成)
  • AcWing848有向图的拓扑排序