讀取本地Json文件出現的跨域問題


關於讀取本地 JSON 文件引起的跨域問題

參考網址:https://blog.csdn.net/jiaoshuaiai/article/details/78417683

在使用 Ajax 讀取本地 JSON 文件時,Chrome 瀏覽器會出現跨域問題(一種針對外部網站訪問本地數據的安全措施)

網上流傳的解決方案,最常用的是

  1. 使用 JSONP 處理 JSON 文件(FE 常用解決方法)
  2. 利用 Nginx 搭建反向代理功能(BE 常用解決方法)
  3. 使用編碼工具搭建出本地的 web 服務器(...掩耳盜鈴方法)

使用 JSONP 進行跨域

原理:使用 <script> 標簽引入 JSON 文件,並將 JSON 文件內的數據包裹在一個函數中

langEn({
    "name": "name",
    "password": "password",
    "email": "email"
})

定義包裹在 JSON 中的方法,並引入到 html 中

當然也可以直接在 <script> 標簽對中定義,但記得定義完后要引入 JSON 文件

function langEn(data) {
    // 這里可以直接對JSON文件中的數據進行處理
    console.log(data);
}

在 html 中引入 JSON 文件,並在文件地址后加上回調函數(在上述例子中的 langEn

方法定義后面必須跟着對應的 JSON 文件

<body>
    <script type="text/javascript" src="loadLanguage.js"></script>
    <script type="text/javascript" src="En.json?cb=langEn"></script>
</body>


免責聲明!

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



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