关于读取本地 JSON 文件引起的跨域问题
参考网址:https://blog.csdn.net/jiaoshuaiai/article/details/78417683
在使用 Ajax 读取本地 JSON 文件时,Chrome 浏览器会出现跨域问题(一种针对外部网站访问本地数据的安全措施)
网上流传的解决方案,最常用的是
- 使用 JSONP 处理 JSON 文件(FE 常用解决方法)
- 利用 Nginx 搭建反向代理功能(BE 常用解决方法)
- 使用编码工具搭建出本地的 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>