读取本地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>
原文地址:https://www.cnblogs.com/CreateBox/p/15194621.html