ajax前端跨域问题解决

浏览器的同源策略限制及解决方法


前言

浏览器的同源策略是一种安全机制,用于限制一个源(协议 + 域名 + 端口)的文档或者脚本如何能与另一个源的资源进行交互。同源策略限制了浏览器在向不同源发送请求时的行为,这意味着通过浏览器向不同源发送 AJAX 请求会失败。

步骤1:使用代理解决跨域问题

1.步骤1

utils/request.js代码如下:

import axios from 'axios'; 
// 设置基本请求地址
const baseURL='/api';
// 创建 Axios 实例
const   instance=axios.create({baseURL})
// 添加响应拦截器
instance.interceptors.response.use(
result=>{
// 对响应数据进行处理,这里返回响应数据的 data 部分
return result.data;},
err=>{
// 对响应错误进行处理,弹出异常提示,并将 Promise 的状态置为 rejected
alert('服务异常');
return Promise.reject(err)
})
// 导出创建的 Axios 实例
export default instance;

2.步骤

src/vite.config.js代码如下:

server: { 
proxy: {
'/api': {
//获取路径中包含了/api的请求
target:'http://localhost:8080',    // 后端服务的地址
changeOrigin: true,//修改地址
rewrite: (path) =>path.replace(/^\/api/,'')  // 重写请求路径,将 /api 开头的请求去掉 /api

上述配置的含义是,当前端项目发起请求时,如果请求路径以 /api 开头,就将请求代理到 http://localhost:8080 地址。这样,前端项目在访问 /api 下的接口时,实际上是通过代理访问后端服务。


结论

通过使用代理来解决跨域问题,可以使前端项目在向不同源发送 AJAX 请求时绕过浏览器的同源策略限制。这种方法能够有效地解决前后端分离开发中的跨域访问问题,提高开发效率和灵活性。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是行东啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值