axios解决跨域问题

news2024/12/23 7:12:58

Vue3中使用axios访问聚合的天气API,出现跨域问题,需要在前端进行一些配置:

首先是修改vue.config.js:

const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  transpileDependencies: true,
  devServer:{
    proxy:{
      '/myapi':{
         // 需要代理的后端接口
        target: 'http://apis.juhe.cn/',
        //开启代理:在本地会创建一个虚拟服务端,然后发送请求的数据,并同时接收请求
        changeOrigin: true,
        //非HTTPS
        secure: false,
         
        // 替换target中的请求地址,也就是说/myapi=/target,
        //请求target这个地址的时候直接写成/api即可。
        pathRewrite:{'^/myapi': '' }
      }
    }
  }
})

这里有两个地方要注意:

1. proxy:{...}必须写在devServer对应的配置对象中。如果书写位置不对,编译时会报错:

ERR: Invalid options in vue.config.js: 'proxy' is not allowed

2. 注意替换的规则,是'/myapi' 替换了target,也就是http://apis.juhe.cn/,这样替换后URL是没有最后的/,如果在http://apis.juhe.cn/后面还有URL,要注意替换后访问路径的拼接。如果少了/,导致URL不正取,浏览器会报CORS policy错误!!

配置好之后,修改代码:

原始的聚合天气预报访问URL是

http://apis.juhe.cn/simpleWeather/query?city=%E5%8C%97%E4%BA%AC&key=15b386******0be2ce3"

现在 http://apis.juhe.cn/被替换为/myapi,所以新的访问路径是:

'/myapi' + '/simpleWeather/query?city=%E5%8C%97%E4%BA%AC&key=15b386******0be2ce3'

这样才是正确的URL。

let api = "/simpleWeather/query?city=%E5%8C%97%E4%BA%AC&key=15b386******0be2ce3";
this.axios.get("/myapi"+api).then((resp)=>{
    console.log(resp);
});

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/609656.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue2.0基础

文章目录 VUEVue2.0vue特点事件处理键盘事件计算属性监听watch深度监视绑定class样式条件渲染列表渲染列表过滤列表排序Vue.set()的使用Vue检测数组的原理Vue监测原理总结指令生命周期Vue componentVue配置文件vue.config.JS其他:组件自定义事件组件自定义事件解绑全…

【Mysql数据库从0到1】-入门基础篇--用户与权限管理

【Mysql数据库从0到1】-入门基础篇--用户与权限管理 🔻一、Mysql 用户管理1.1 🍃 Mysql服务器登录1.2 🍃 用户创建1.3 🍃 用户修改1.4 🍃 用户删除1.5 🍃 用户密码修改1.6 🍃 用户密码管理 &…

深入浅出C语言—【函数】上

目录 1.函数的概念 2.C语言函数的分类 2.1 库函数 2.1.1 strcpy库函数举例学习方式 2.1.2 库函数扩展知识 2.2 自定义函数 2.2.1求两个整数中的较大值 3. 函数的参数 3.1 实际参数(实参) 3.2 形式参数(形参) 4. 函数的…

Linux安全之账户安全

账户安全 Linux用户账户概述: 用户账号 超级用户root系统用户普通用户组账号 基本组(私有组----每一个私有组里面只有一个用户)附加组(公共组----每一个用户都可以加入到这个组里面) UID和GID: UID&…

【minio】Ubuntu安装MinIO文件服务器并通过C++上传下载

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍MinIO的使用。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习知识,共同进步。 喜欢的朋友可以关注一下,下次更新不迷路&…

pandas速学-DataFrame

一、理解DataFrame 他是一个表格结构:DataFrame 是一个表格型的数据结构 他是有序的,不同值类型:它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。 他可以被看做一个由series组成的…

chatgpt赋能python:PythonIP匹配

Python IP匹配 随着互联网的不断发展,IP地址已成为人们最常使用的一种网络标识。在网络分析和开发中,经常会用到IP地址的相关操作,如IP地址的匹配。Python作为一种性能比较好的语言,也可以很好地完成IP地址的匹配工作。本文将介绍…

【学习日记2023.6.4】之 Linux入门

1. Linux简介 1.1 主流操作系统 不同领域的主流操作系统,主要分为以下这么几类: 桌面操作系统、服务器操作系统、移动设备操作系统、嵌入式操作系统。接下来,这几个领域中,代表性的操作系统是那些? 1). 桌面操作系统 操作系统特…

数据链路层:虚拟局域网(VLAN)

数据链路层:虚拟局域网(VLAN) 笔记来源: 湖科大教书匠:虚拟局域网(VLAN)概述 湖科大教书匠:虚拟局域网(VLAN)实现机制 声明:该学习笔记来自湖科大…

mybatis源码学习之mybatis执行流程分析

Mybatis执行流程分析 mybatis全局配置文件 mybatis全局配置文件中涉及的标签如下图所示 配置文件解析 public static void main(String[] args) throws IOException {// 读取配置文件InputStream is Resources.getResourceAsStream("org/apache/ibatis/builder/Mappe…

K8S部署Hadoop集群(七)

Hadoop是Apache软件基金会下一个开源分布式计算平台,以HDFS(Hadoop Distributed File System)、MapReduce(Hadoop2.0加入了YARN,Yarn是资源调度框架,能够细粒度的管理和调度任务,还能够支持其他…

UnityVR--EventManager--事件中心3

前期准备 接上一篇,来实现事件中心的管理:使用定义好的事件中心管理器EventManager,实现鼠标拖拽、角色移动、发射子弹等几个功能。 1. InputSystem的准备:需要设置输入设备并关联事件,比如监听键盘输入"WASD&quo…

自制操作系统第三站

修改haribote.nas,界面显示 ; haribote.nas ; TAB4ORG 0xc200MOV AL, 0x13MOV AH, 0x00INT 0x10fin:HLTJMP fin编译运行

MySQL存储引擎概述

前言:MySQL语句执行流程为:SQL语句→查询缓存→解析器→优化器→执行器(执行器会调用执行引擎API);人们把“连接管理、查询缓存、语法解析、查询优化”这些并不涉及真实数据存储的功能划分为MySQL server的功能&#x…

TiDB亿级数据亚秒响应查询整体架构

目录 1 TiDB的优势2 TiDB的组件2.1 TiDB Server2.2 PD (Placement Driver) Server2.3 TiKV Server2.4 TiSpark2.5 TiFlash 3 TiKV整体架构3.1 Region分裂与合并3.2 Region调度3.3 分布式事务 4 高可用架构4.1 TiDB高可用4.2 PD高可用4.3 TiKV高可用 5 应用场景5.1 MySQL分片与合…

在地质区划图上绘制伪震中

import numpy as np import matplotlib.pyplot as plt #matplotlib inline from matplotlib import image from matplotlib import pyplot as plt import cv2 # 解析文件,按空格分割字段,得到一个浮点数字类型的矩阵 def loadDataSet(fileName): dataMa…

chatgpt赋能python:Python办公自动化:优化SEO工作效率的关键

Python办公自动化:优化SEO工作效率的关键 随着互联网的不断发展,SEO已经成为了许多企业在网络中展示自己的必备手段。然而,SEO工作需要大量重复性、繁琐的操作,如关键词排名、竞争对手分析、数据收集等,这些工作占据了…

一文说透ES6中的箭头函数表达式

一 总述 ​箭头函数表达式的语法比函数表达式更简洁,并且没有自己的this,arguments,super或new. target。箭头函数表达式更适用于那些本来需要匿名函数的地方,并且它不能用作构造函数。 二 详细 1 1个或多个参数 (param1, par…

【数据结构每日一题】队列——用栈实现队列

[数据结构习题]队列——用栈实现队列 👉知识点导航💎:【数据结构】栈和队列 👉[王道数据结构]习题导航💎: p a g e 85.3 page85.3 page85.3 本节为栈和队列的综合练习题 题目描述: &#x1f…

【AI绘图】五、stable diffussion模型的介绍与使用

1. 下载模型 主流模型下载网站: 1)Hugging face 是一个专注于构建、训练和部署先进开源机器学习模型的网站: https://huggingface.co/ 2)Civitai 是一个专为 Stable Diffusion AI 艺术模型设计的网站: https://civi…