前端页面带值跳转

前端页面带值跳转

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

使用axios整合前后端

axios官网:axios

  1. 在前端框架中整合axios

    json 复制代码
     npm install axios
  2. 新建plugins目录,新建myAxios

    js 复制代码
    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. 页面挂载完毕,加载请求

    js 复制代码
    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参数为前端域名
    java 复制代码
    @CrossOrigin(origins = "http://localhost:5173/")
  5. 结果展示

相关推荐
2501_943782352 小时前
【共创季稿事节】猜数字游戏:二分法思维与交互式反馈
前端·游戏·microsoft·harmonyos·鸿蒙·鸿蒙系统
GV191rLvq2 小时前
基于Socket实现的最简单的Web服务器【ASP.NET原理分析】
服务器·前端·asp.net
吠品2 小时前
LangChain 里 tool_call_id 为空?一次 MCP 工具集成的排查记录
前端
柒和远方2 小时前
Phase 7.4 学习博客:为什么多 API 项目需要 Swagger / OpenAPI
前端·后端·架构
张龙6872 小时前
拼多多开放平台对接踩坑实录:从 CLIENT_ID 配置到 MD5 签名算法的完整填坑指南
前端
GuWenyue3 小时前
提示词彻底过时?一套上下文工程方案,3步让LLM落地生产,代码直接复用
前端·javascript·人工智能
柒和远方3 小时前
Phase 7.3 复盘:后台任务不只是“扔进队列”,还要能被看见
前端·后端·架构
2501_943782353 小时前
【共创季稿事节】 倒计时器:时分秒选择器与定时器的协同工作
前端·华为·harmonyos·鸿蒙·鸿蒙系统
奶油mm3 小时前
公司技术债堆积如山,我一人之力用 Vue3 偷换了整个前端架构
前端·vue.js