同源策略和跨域的解决方法

146 阅读1分钟

同源策略

  • 同源策略是浏览器的一个安全功能,不同源的网页脚本在没有明确授权的情况下,不能读写对方资源。所谓同源是指"协议+域名+端口"

什么是跨域

  • 使用Ajax技术,从一个网页去请求另一个网页资源时,违反同源策略,引起的安全问题,称为跨域

跨域解决方案

  • 使用JSON技术实现原理,利用部分标签不会引起跨域问题,img,link,script,缺点:只能使用get请求
function createScript(url){
//创建script元素
let scriptEle=documebt.createElment('script')
//设置元素属性为url地址
scriptEle.src=url
//将script元素添加到body
document.appendChild(scriptEle)
}

createScript(url)//调用函数
//接受参数,与后端确定方法名
function callback(result){
    console.log(result)
}
  • 跨域资源共享CORS
   res.setHeader('Access-Control-Allow-Origin', '*')
  • 前后端代理技术
proxy:{
'/api':{
target:'http://192.168.0.100:8088/api',
ws:true,
changOrigin:true,
pathRewrite:{
'^api':''
}
}
}