一、什么是跨域
出于浏览器的同源战略约束。同源战略是一种约好,它是浏览器最中心也最基本的安全功用,假如缺少了同源战略,则浏览器的正常功用或许都会受到影响。知识点:跨域只会呈现在浏览器上,小程序和APP开发不会有跨域问题
二、什么情况下会呈现跨域
说人话便是域名不同的时候会呈现跨域。下面以 百度 域名为例,在域名的:协议、主机名、域名、端口 任何一个与当时访问的站点域名不同时就会呈现跨域
https://www.baidu.com:443
呈现跨域时,浏览器控制台的报错如下图所后端开发示
切记:本服务器是什么文章只讲述 前端处理跨域的方法,而且前端处理跨域问题只后端开发需要学什么在本地开发时有用,项目发布线上需求前端服json务器uniapp和vue有什么区别配置恳求代理比方 nginx的反向代理 或 后端允许跨域恳求
处理跨域的方法便是“诈骗”浏览器 或 删除浏览器约束
三、uni-app 项目 处理跨域方法
方法一:使用 HBuilderX 内置浏览器,内置浏览器是删除了浏览器的跨域约束的。
方法二:在项目根目json录 man服务器租用多少钱一年ifest.jsonhttps域名 文件中增加 h5 配置,点我 查看 uni-app 文档阐明。
"h5" : {
"devServer":{
"proxy":{
"^/api":{
"target":"http://127.0.0.1:8081",
"ws": true,
"changeOrigin": true
}
}
}
}
页面恳求代码示例
uni.request({
url:'/api/1.json', // url 要与 proxy 匹配,不能写成 xx.com/api.1.json
method:'GET',
success: (res) => {
console.log(res);
}
})
四、Vue.js 项目 处理跨域方法
在项目根目录 vue.config.js 文件中增加如下配置
/* 开发环境配置 */
devServer:{
/* 代理目录 */
proxy:{
'^/api':{
target:'http://127.0.0.1:8081',
ws: true,
changeOrigin: true
}
}
}
页面恳求代码,以 axios 库为例
request.get('/api/1.json',{
params
}).then(res=>{
console.log(res)
})
五、终极处理uniapp插件方法,删除后端开发工程师浏览后端是做什么的器跨域约束
假如你的项目不是工程化的,比方 jQuery 技能栈的话用这种方式最简略粗犷
以 chrome 浏览器为例
【设置步骤】
新建一个 Chrome 的桌面快捷方式
在快捷方式上右服务器租用键,点击【特点】,翻开【特点】面板
在【特点】面板的【方针】中uniapp插件(chrome.exe 后面)按一下空格,再增加以下代码:
--args --disable-web-security --user-data-dir=D:MyChromeDevUserData
或许
--disable-web-security --user-data-dir=D:MyChromeDevUserData
设置成功以后再翻开浏览器,会服务器价格有提示:
“您使用的是不受支持的‘后端开发是干什么的命令行’符号: –dihttps协议sable-web-seHTTPScurity,稳定性和安全性会有所下降”
此刻,正常后端是什么工作用户都可以进行跨域访问了,比方本地的前端项目,直连测验或许线json数据上环境的接口(条件是方针环境在当时浏览器登陆过,已经存在当时账号的cookies,sess后端是什么工作ion等信息)