<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
當我們遇到請求後臺介面遇到 Access-Control-Allow-Origin 時,那說明跨域了。
跨域是因為瀏覽器的同源策略所導致,同源策略(Same origin policy)是一種約定,它是瀏覽器最核心也最基本的安全功能,同源是指:域名、協定、埠相同
1、在vue.config.js中設定如下程式碼片段
module.exports = { dev: { // Paths assetsSubDirectory: 'static', assetsPublicPath: '/', proxyTable: { // 設定跨域 '/api':{ target:`http://www.baidu.com`, //請求後臺介面 changeOrigin:true, // 允許跨域 pathRewrite:{ '^/api' : '' // 重寫請求 } } }, }
2、創捷axioss範例時,將baseUrl設定為 ‘/api’
const http = axios.create({ timeout: 1000 * 1000000, withCredentials: true, BASE_URL: '/api' headers: { 'Content-Type': 'application/json; charset=utf-8' } })
Jsonp(JSON with Padding) 是 json 的一種"使用模式",可以讓網頁從別的域名(網站)那獲取資料,即跨域讀取資料。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <div id="textID"></div> <script type="text/javascript"> function text_jsonp(req){ // 建立script的標籤 var script = document.createElement('script'); // 拼接 url var url = req.url + '?callback=' + req.callback.name; // 賦值url script.src = url; // 放入頭部 document.getElementsByTagName('head')[0].appendChild(script); } </script> </body> </html>
在CORS請求,頭部資訊中包含以下三個欄位:
Access-Control-Allow-Origin: 該欄位是必須的。它的值要麼是請求時Origin
欄位的值,要麼是一個*
,表示接受任意域名的請求,
Access-Control-Allow-Credentials: 可選,值為布林值,表示是否允許傳送Cookie。預設情況下,Cookie不包括在CORS請求之中。設為true
,即表示伺服器明確許可,Cookie可以包含在請求中,一起發給伺服器。這個值也只能設為true。如果要傳送Cookie,Access-Control-Allow-Origin必須設定為必須指定明確的、與請求網頁一致的域名
Access-Control-Expose-Headers:可選。CORS請求時,XMLHttpRequest
物件的getResponseHeader()
方法只能拿到6個基本欄位:Cache-Control
、Content-Language
、Content-Type
、Expires
、Last-Modified
、Pragma
。如果想拿到其他欄位,就必須在Access-Control-Expose-Headers
裡面指定
詳細講解請檢視阮大神的文章,傳送門附上:CORS詳解
iframe(src){ //陣列 if(Array.isArray(src)){ this.docs.visible = true; }else{ this.docs.visible = false; } this.link = src if(this.docs.visible == false){ if(this.$refs['ruleIframe'] && this.$refs['ruleIframe'].querySelector('iframe')){ this.$refs['ruleIframe'].querySelector('iframe').remove() //刪除自身 } var iframe = document.createElement('iframe'); iframe.width = '100%'; iframe.height = '100%'; iframe.setAttribute('frameborder','0') iframe.src = src; this.append(iframe) } }, //建立元素 防止 獲取不到 ruleIframe 遞迴 append(iframe){ if(this.$refs['ruleIframe']){ this.$refs['ruleIframe'].appendChild(iframe); return } setTimeout(()=>{ this.append(iframe); },500) },
到此這篇關於VUE跨域詳解以及常用解決跨域方法的文章就介紹到這了,更多相關VUE解決跨域方法內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45