最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

VUE跨域詳解以及常用解決跨域的方法

 更新時間:2022年07月10日 10:59:24   作者:逩跑鍀小學生  
跨域指瀏覽器不允許當前頁面的所在的源去請求另一個源的數(shù)據(jù),下面這篇文章主要給大家介紹了關于VUE跨域詳解以及常用解決跨域的方法,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下

跨域

當我們遇到請求后臺接口遇到 Access-Control-Allow-Origin 時,那說明跨域了。

跨域是因為瀏覽器的同源策略所導致,同源策略(Same origin policy)是一種約定,它是瀏覽器最核心也最基本的安全功能,同源是指:域名、協(xié)議、端口相同

解決跨域常用方法:

一、VUE中常用proxy來解決跨域問題

1、在vue.config.js中設置如下代碼片段

module.exports = {
  dev: {
    // Paths
    assetsSubDirectory: 'static',
    assetsPublicPath: '/',
    proxyTable: { // 配置跨域
    '/api':{
        target:`http://www.baidu.com`, //請求后臺接口
        changeOrigin:true, // 允許跨域
        pathRewrite:{
            '^/api' : '' // 重寫請求
        }
    }
  },
}

 2、創(chuàng)捷axioss實例時,將baseUrl設置為 ‘/api’

const http = axios.create({
  timeout: 1000 * 1000000,
  withCredentials: true,
  BASE_URL: '/api'
  headers: {
     'Content-Type': 'application/json; charset=utf-8'
   }
})

二、JSONP解決跨域

Jsonp(JSON with Padding) 是 json 的一種"使用模式",可以讓網(wǎng)頁從別的域名(網(wǎng)站)那獲取資料,即跨域讀取數(shù)據(jù)。

<!DOCTYPE html>
       <html>
       <head>
           <meta charset="utf-8">
       </head>
       <body>
       <div id="textID"></div>
       <script type="text/javascript">
           function text_jsonp(req){
               // 創(chuàng)建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是跨域資源共享(Cross-Origin Resource Sharing),以 ajax 跨域請求資源,支持現(xiàn)代瀏覽器,IE支持10以上

在CORS請求,頭部信息中包含以下三個字段:

Access-Control-Allow-Origin: 該字段是必須的。它的值要么是請求時Origin字段的值,要么是一個*,表示接受任意域名的請求,

Access-Control-Allow-Credentials: 可選,值為布爾值,表示是否允許發(fā)送Cookie。默認情況下,Cookie不包括在CORS請求之中。設為true,即表示服務器明確許可,Cookie可以包含在請求中,一起發(fā)給服務器。這個值也只能設為true。如果要發(fā)送Cookie,Access-Control-Allow-Origin必須設置為必須指定明確的、與請求網(wǎng)頁一致的域名

Access-Control-Expose-Headers:可選。CORS請求時,XMLHttpRequest對象的getResponseHeader()方法只能拿到6個基本字段:Cache-Control、Content-LanguageContent-Type、Expires、Last-Modified、Pragma。如果想拿到其他字段,就必須在Access-Control-Expose-Headers里面指定

詳細講解請查看阮大神的文章,傳送門附上:CORS詳解

四、iframe實現(xiàn)跨域

iframe(src){
            //數(shù)組
            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)
            }
            
        },
        //創(chuàng)建元素 防止  獲取不到 ruleIframe 遞歸
        append(iframe){
            if(this.$refs['ruleIframe']){
                this.$refs['ruleIframe'].appendChild(iframe);
                return
            }
            setTimeout(()=>{
                this.append(iframe);
            },500)    
        },

總結

到此這篇關于VUE跨域詳解以及常用解決跨域方法的文章就介紹到這了,更多相關VUE解決跨域方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Vue加載中動畫組件使用方法詳解

    Vue加載中動畫組件使用方法詳解

    這篇文章主要為大家詳細介紹了Vue加載中動畫組件使用方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 深入理解Vuex 模塊化(module)

    深入理解Vuex 模塊化(module)

    本篇文章主要介紹了Vuex 模塊化(module),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • vue項目中如何將當前頁面生成圖片

    vue項目中如何將當前頁面生成圖片

    這篇文章主要介紹了vue項目中如何將當前頁面生成圖片問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Element?Plus在el-form-item中設置justify-content無效的解決方案

    Element?Plus在el-form-item中設置justify-content無效的解決方案

    這篇文章主要介紹了Element?Plus在el-form-item中設置justify-content無效的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • 解決vue項目axios每次請求session不一致的問題

    解決vue項目axios每次請求session不一致的問題

    這篇文章主要介紹了解決vue項目axios每次請求session不一致的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • 前端vue如何根據(jù)菜單自動生成路由(動態(tài)配置前端路由)

    前端vue如何根據(jù)菜單自動生成路由(動態(tài)配置前端路由)

    估計有不少人遇過這樣的需求:根據(jù)后臺數(shù)據(jù)動態(tài)添加路由和菜單,這篇文章主要給大家介紹了關于前端vue如何根據(jù)菜單自動生成路由的相關資料,需要的朋友可以參考下
    2024-04-04
  • vue遞歸組件實現(xiàn)樹形結構

    vue遞歸組件實現(xiàn)樹形結構

    這篇文章主要為大家詳細介紹了vue遞歸組件實現(xiàn)樹形結構,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • vue通過定時器實現(xiàn)垂直滾動公告

    vue通過定時器實現(xiàn)垂直滾動公告

    這篇文章主要為大家詳細介紹了vue通過定時器實現(xiàn)垂直滾動公告,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • vue實現(xiàn)表單錄入小案例

    vue實現(xiàn)表單錄入小案例

    這篇文章主要為大家詳細介紹了vue實現(xiàn)表單錄入小案例,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • 使用vue的transition完成滑動過渡的示例代碼

    使用vue的transition完成滑動過渡的示例代碼

    這篇文章主要介紹了使用vue的transition完成滑動過渡的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06

最新評論

江津市| 乌海市| 象山县| 抚州市| 洞口县| 广平县| 红河县| 大连市| 霞浦县| 新宾| 昭觉县| 辉县市| 晋宁县| 邵阳市| 吉隆县| 栾城县| 布尔津县| 延津县| 乐昌市| 辰溪县| 丹棱县| 修文县| 五峰| 个旧市| 平远县| 社旗县| 抚松县| 个旧市| 高淳县| 宜君县| 微山县| 沧源| 平顶山市| 许昌市| 佛冈县| 佛教| 鹤峰县| 广平县| 望都县| 大余县| 天等县|