前端页面带值跳转

前端页面带值跳转

  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. 结果展示

相关推荐
前端啊8 分钟前
告别 el-table 打印难题,vue3-print-el-table 来了!
前端·vue.js
JarvanMo12 分钟前
AI时代跨平台还有必要吗?
前端
Patrick_Wilson27 分钟前
幂等到底是什么?从前端视角讲透 SQL、HTTP 与 POST 接口的幂等设计
前端·后端·架构
凌览28 分钟前
一人公司别再上 Jenkins,真不值
前端·后端
oil欧哟33 分钟前
Codex 最佳实践(超级长文):先搞懂 AI,再用好 AI
前端·人工智能·后端
小小小小宇35 分钟前
前端渲染方式
前端
京东云开发者2 小时前
全球首个!京东全栈开源JoyAI-VL-Interaction,让大模型从“一问一答”走向“边看边说”
前端
京东云开发者2 小时前
正式上线!京东云AI智能渗透测试服务
前端
AprChell2 小时前
低代码设计器和低代码设计引擎架构综述
前端·vue.js·低代码
Hilaku2 小时前
Node.js 还能再战十年?给你一个不换引擎的理由
前端·javascript·程序员