Vue3解决跨域问题

  1. 配置

在配置文件中通过使用proxy代理解决请求跨域问题

server:{

// 跨域

proxy:{

'/api':{

target:'http://58.59.43.03:871/proxy/ythsj',

changeOrigin:true,

rewrite:(path) => path.replace(/^\/api/, '')

},

'/orderp':{

target:'http://dt.ywgb.youlishu.com',

changeOrigin:true,

rewrite:(path) => path.replace(/^\/orderp/, '')

},

'/datamUrl':{

target:'http://rz.ywgb.youlishu.com',

changeOrigin:true,

rewrite:(path) => path.replace(/^\/datamUrl/, '')

}

}

// 端口号

}

  1. 创建axios实例

export const instance = axios.create({

// 跨域

baseURL: '/api',

timeout: 5000

});

  1. 用async、await封装get、post请求

export const get = url => {

return async params => {

return instance.get(url, {

params

})

}

};

export const post = url => {

return async params => {

return instance.post(url, params)

}

}

  1. 请求地址

import { get, post } from "./_httpproxy"

// 事件

export const getEventTotalCount=get('/api/ythEvent/getEventTotalCount')

4.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue3解决跨域问题,报错Access-Control-Allow-Origin的解决方法是在后端服务器设置响应头信息。跨域访问是由于浏览器的同源策略所限制的,为了防止恶意网站获取用户敏感信息,浏览器要求请求和响应的域名、协议和端口必须一致。 要解决这个问题,你需要在后端服务器中设置响应头信息,将Access-Control-Allow-Origin的值设置为允许访问的域名。 有以下几种方法可以实现这个设置: 1. 在后端框架中设置响应头信息: - 如果你使用的是Express框架,可以使用cors中间件来设置响应头信息。安装cors中间件后,再在服务器文件中添加以下代码: ```javascript const express = require('express'); const cors = require('cors'); const app = express(); app.use(cors({ origin: 'http://allowed-domain.com' // 将allowed-domain.com替换为允许访问的域名 })); // 其他路由和中间件 app.listen(3000, () => { console.log('Server started on port 3000'); }); ``` - 如果你使用的是其他后端框架,可以查阅该框架的文档,了解如何设置响应头信息。 2. 在后端服务器中手动设置响应头信息: - 如果你没有使用后端框架,可以在处理请求的函数或方法中手动设置响应头信息。例如,在Node.js中,可以使用以下代码: ```javascript const http = require('http'); const server = http.createServer((req, res) => { res.setHeader('Access-Control-Allow-Origin', 'http://allowed-domain.com'); // 将allowed-domain.com替换为允许访问的域名 // 其他处理请求的代码 }); server.listen(3000, () => { console.log('Server started on port 3000'); }); ``` 以上方法中,将'allowed-domain.com'替换为允许访问的域名,可以是具体的域名,也可以是通配符'*',表示允许所有域名访问。但需要注意的是,如果请求的credentials mode为'include',即请求中包含了凭证信息(如cookie),则响应头的Access-Control-Allow-Origin不能使用通配符'*',而需要指定具体的域名。 希望这些信息对你有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Vue项目启动报错: No ‘Access-Control-Allow-Origin‘ header](https://blog.csdn.net/qq_34484062/article/details/120528747)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Vue 项目中遇到的跨域问题解决方法(后台php)](https://download.csdn.net/download/weixin_38640830/14812120)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值