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

前端页面带值跳转

前端页面带值跳转

  1. querry=>url searchParamers,url后附加参数,传递的值长度与有限
  2. vuex(全局状态管理),搜索页面将关键词塞到状态中,所搜结果页从状态取值。

使用axios整合前后端

axios官网:axios

  1. 在前端框架中整合axios
     npm install axios
    
  2. 新建plugins目录,新建myAxios
    import axios from "axios";
    // Set config defaults when creating the instance
    //自己创建一个axios实例,自己定义发送请求的url(像哪个地址发送请求)
    //如果不自己定义的话每个请求前都要自己添加完整的域名,如果域名换了所有的url都要改变
    //可以把myAsios理解为axios的一个实例
    const myAxios = axios.create({
        baseURL: 'https://localhost:8080/api'//后端的统一请求地址
    });
    //自定义健全的请求头
    // Alter defaults after instance has been created
    //instance.defaults.headers.common['Authorization'] = AUTH_TOKEN;
    
    //可以在每个请求前或请求结束后做一些事情,比如说判断请求参数是否符合要求,如果不可以不让像后端发送请求
    // 添加请求拦截器
    myAxios.interceptors.request.use(function (config) {
        // 在发送请求之前做些什么
        console.log('我要发送请求了',config)
        return config;
    }, function (error) {
        // 对请求错误做些什么
        return Promise.reject(error);
    });
    
    // 全局响应拦截器
    myAxios.interceptors.response.use(function (response) {
        // 对响应数据做点什么
        console.log('已经收到你的响应值了',response)
        return response;
    }, function (error) {
        // 对响应错误做点什么
        return Promise.reject(error);
    });
    
    
    export default myAxios;
    
  3. 页面挂载完毕,加载请求
    const route = useRoute();
    //取到搜索的标签
    const { tags } = route.query;
    
    //页面初始化好以后,执行从远程获取数据的方法
    onMounted(()=>{
      myAxios.get('/user/search/tags', {
      params: {
        tagNameList: tags
      }
      })
          .then(function (response){
        console.log('user/search/tags succeed',response);
        showSuccessToast('请求成功!');
      })
          .catch(function (error){
      console.log('user/search/tags succeed',error);
            showFailToast('请求失败!');
    
      })
    })
    
  4. 测试出现跨域问题
    • 什么是跨域问题
      • 前端要发送请求的地址和后端发送给的服务器地址域名端口号协议不一致,浏览器会判断为不安全判定为跨域
    • 如何解决
      • 在后端spring框架的userController类中加@CrossOrigin注解,例如@CrossOrigin(origins=“http://loclahost:5173”)origins参数为前端域名
    @CrossOrigin(origins = "http://localhost:5173/")
    
  5. 结果展示
    在这里插入图片描述

http://www.kler.cn/a/147953.html

相关文章:

  • SpringBoot(十八)SpringBoot集成Minio
  • 【数据结构与算法】第12课—数据结构之归并排序
  • 量化交易系统开发-实时行情自动化交易-3.4.1.2.A股交易数据
  • 【Linux】-学习笔记03
  • Vue 的生命周期函数 和 Vuex
  • WebGIS三维地图框架--Cesium
  • re:Invent 2023 开发者指南来了!@开发者们,Let‘s 构!
  • 案例026:基于微信的原创音乐小程序的设计与实现
  • 【电路笔记】-电阻器颜色代码与阻值计算
  • 在MySQL中将一个表切换到另一个表并启用分区
  • 随笔美文2
  • 16、单例bean的优势
  • Linux——vim编辑文件时——.swp文件解决方案
  • openstack(2)
  • 【2023.11.28】关于Servlet路径的学习
  • Python大数据考题
  • 医学图像分割:U_Net 论文阅读
  • 电脑风扇转一下停一下,无法正常开机问题解决
  • 算法基础之模拟堆
  • frida - 2.hook使用
  • 精彩预告 | OpenHarmony即将亮相MTSC 2023
  • Android gradle 配置阿里镜像
  • k8s学习
  • 振南技术干货集:制冷设备大型IoT监测项目研发纪实(1)
  • Moonbeam生态项目分析 — — 去中心化交易所Beamswap
  • 【人工智能】Chatgpt的训练原理