uni-app運行到瀏覽器跨域H5頁面的跨域問題解決方案


官方文檔對跨域的解決方案推薦:

https://ask.dcloud.net.cn/article/35267

更方便的解決方案

 

項目根目錄直接創建一個vue.config.js文件,並在里面配置代理,直接上代碼

 

module.exports = {
  publicPath: './',
  devServer: {
    proxy: {
      '/api': {
        target: 'https://movie.douban.com',
        ws: true,
        changeOrigin: true,
        pathRewrite: {
          '^/api': ''
        }
      },
      '/bpi': {
        target: 'https://douban.uieee.com/',
        ws: true,
        changeOrigin: true,
        pathRewrite: {
          '^/bpi': ''
        }
      }
    }
  },
  pwa: {
    iconPaths: {
      favicon32: 'favicon.ico',
      favicon16: 'favicon.ico',
      appleTouchIcon: 'favicon.ico',
      maskIcon: 'favicon.ico',
      msTileImage: 'favicon.ico'
    }
  }
}

  

在相關接口請求處的代碼出做修改、如下:

源代碼:

 

修改后:

url: 'bpi/v2/movie/top250',

 

這時候跨域問題就解決了,但是會出現另外一個問題圖片無法顯示報403,這個問題通過添加自定義meta標簽可以解決,

圖片403問題

但是怎么在uni-app里面添加自定義的meta標簽呢,~

 

1.在項目根目錄下新建一個html文件;

2. 復制下面的基本模板內容,到這個html文件,

3.在此基礎上修改meta和引入js;

 

標准uni-app的模板:

<!DOCTYPE html>
<html lang="zh-CN">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <!-- 額外添加下面這句話 -->
     <meta name="referrer" content="no-referrer"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <title> <%= htmlWebpackPlugin.options.title %> </title> <script> document.addEventListener('DOMContentLoaded', function() { document.documentElement.style.fontSize = document.documentElement.clientWidth / 20 + 'px' }) </script> <link rel="stylesheet" href="<%= BASE_URL %>static/index.<%= VUE_APP_INDEX_CSS_HASH %>.css" /> </head> <body> <noscript> <strong>Please enable JavaScript to continue.</strong> </noscript> <div id="app"></div> <!-- built files will be auto injected --> </body> </html>

  

找到新建html文件的heade處:

<meta name="referrer" content="no-referrer" /><!--頁面頭部添加-->

 

4.在 manifest.json->h5->template 節點中關聯這個html文件的路徑。找到設置,把剛才自定義的文件引入

 

 

 

這樣所有的uni-app的跨域問題就迎刃而解了

 

 

參考資料:

webpack-dev-server
webpack跨域API

 

如果大家有任何疑問即可留言反饋,會在第一時間回復反饋,謝謝大家!

本人使用GSAP框架搭建的個人網站也上線啦!有興趣可以訪問 zhaohongcheng.com 查看,感謝~

本人uni-app影視項目已經重磅開源,一套代碼套發布到H5、APP、小程序等多個平台!有興趣可以訪問Dcloud官方插件市場https://ext.dcloud.net.cn/plugin?id=1839 查看,感謝~

本文為Tz張無忌文章,讀后有收獲可以請作者喝杯咖啡,轉載請文章注明出處:https://www.cnblogs.com/zhaohongcheng/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM