前端动静资源分离跨域处理

本文详细介绍了前端处理跨域问题的方法,包括后端设置`Access-Control-Allow-Origin`等响应头,以及使用axios、jQuery的ajax、ElementUI的el-upload组件和Nginx代理配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前端跨越需要处理的几点地方,以及后端配置

最近没事干,随便写点跨域的东西记录一下吧,毕竟好记性不如烂笔头
浏览器的同源策略在这里就不多说了,直接写一下一般处理方式吧

后端配置

后端全局响应头配置:

'Access-Control-Allow-Origin':'*',//一般不设置任意域名*,允许跨域请求的域名,设置前端部署域名
'Access-Control-Allow-Credentials': 'true',//允许携带cookie之类的身份验证信息
'Access-Control-Allow-Methods': 'POST,GET,PUT,OPRIONS,DELETE,PATCH',//允许请求方式
'Access-Control-Max-Age': '3600',//预检请求有效期,单位为秒,在有效期内,浏览器只发送一次预检请求
'Access-Control-Allow-Headers': 'accept,x-requested-with,cookie,Authorization,x-ui-request'//允许的请求头,如果前端有自定义签名字段放在请求头里,记得加在里面

前端使用axios请求

import axios from 'axios'
axios.default.widthCredentials = true //允许携带cookie等身份凭证信息

前端使用ajax请求

$.ajax({
	url: 'https://xxx',
	type: 'POST',
	xhrFields: { widthCredentials: true },//允许携带cookie等身份凭证信息
	success(res){
		console.log(res)
	}
})

如前端使用element组件el-upload

<el-upload
	:action="'https://xxx'"
	:with-credentials="true"
	:accept="'image/*'"
	:limit="9">
</el-upload>

前端使用代理

module.exports = {
	dev: {
		assetsSubDirectory: 'static',
		assetsPublicPath: '/',
		proxyTable: {
			'/api': {
				target: 'https://',//代理地址
				changeOrigin: true, //可否跨域
				pathRewrite: {'^/api': ''}
			}
		}
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值