跨域--解决方法

1、后端处理 (开启跨域)

在发送数据给文件后台时的回调函数中,响应res的header给前端,即:

res.header('Access-Control-Allow-Origin','*')

2、Cors

适用条件:同一根目录下的不同项目

(1)终端安装模块:

npm i cors --save-dev

(2)app.js中,引入模块:

var cors=require("cors")

(3)app.js中,使用该模块:

app.use(cors())

3、http-proxy-middleware

适用条件:在express脚手架中使用,前端html必须跟后台同一服务器
实现原理:
将网络上的数据反向代理到本地服务器上,用nodejs作为中间层,用来转接网络上的数据,将数据转到nodejs上,才能很好地展示在页面上

以该网址数据为例: http://host810267499.s360.pppf.com.cn/herolist.json

#  1、终端安装模块:
npm i http-proxy-middleware --save-dev

#	2、app.js中,引入模块:
var proxy=require("http-proxy-middleware")

#	3、app.js中,使用该模块:
	app.use('/herolist.json',proxy({target:"http://host810267499.s360.pppf.com.cn",changeOrigin: true}))
	
#	4、ajax请求时的url,可以直接写为 /herolist.json

4、nginx(反向代理)

适用条件:前端和后端的ip地址相同,端口号不同的情况

eg: 跟后端进行数据联调时,获取后台数据需处理跨域问题,可以使用nginx反向代理解决跨域


安装网址:http://nginx.org/en/download.html (选择稳定版windows)


操作步骤:

1、双击nginx.exe启动,在浏览器输入:localhost:80(默认端口号80),出现欢迎页面,即安装成功
2、修改nginx文件夹中 --> conf文件夹 --> nginx.conf
3、nginx.conf中,关键代码修改:
(以ajax请求地址:http://localhost:3000为例)

   server {
        listen       8888;  # 修改端口号
        server_name  localhost;    #修改主机名

    	location /apis {    # 手动添加    用 /apis  替换 前端ajax请求的地址
		proxy_pass http://localhost:3000;
	}

4、将(xx.html)页面的ajax的url地址直接写 /apis --> 将该html页面剪切至nginx文件夹下的html文件下 --> 启动node 服务器

5、终端运行:nginx -s quit 先关闭,再双击开启 --> 以nginx的头部(localhost:8888)打开页面–>在网站输入: localhost:8888/xx.html

5、前端处理:jsonp

根据引用和引用的描述,vue-pdf跨域问题可以通过以下步骤解决: 1. 确定是否出现跨域问题。根据报错信息和问题描述,确认问题是由于加载子应用文件时发生了跨域请求导致的。 2. 解决跨域问题。可以采取以下几种方式来解决vue-pdf的跨域问题: a. 在主应用的服务器配置中添加跨域请求的允许。可以在服务器端设置Access-Control-Allow-Origin头部,允许来自特定域名或所有域名的跨域请求。 b. 如果使用的是webpack打包工具,可以配置webpack的devServer选项来解决跨域问题。可以通过设置proxy选项,将子应用的请求代理到相应的端口或地址上。 c. 如果无法修改服务器配置或webpack配置,可以考虑将vue-pdf的文件放置在与主应用相同的域名或端口下,以避免跨域问题。 3. 更新子应用依赖。如果以上方法无效,可以尝试更新vue-pdf的版本或使用其他类似的第三方包,以解决跨域问题。有时,较新的版本可能已经修复了跨域问题或提供了相应的配置选项。 总结,解决vue-pdf跨域问题的步骤包括确定跨域问题解决跨域问题修改服务器配置、配置webpack、调整文件位置等)和更新子应用依赖(更新版本或使用其他第三方包)。请根据具体的情况选择适合的解决方案。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [微前端子应用加载 vue-pdf 时跨域问题解决](https://blog.csdn.net/XAUT_monkeyKing/article/details/125762846)[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: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值