使用AJAX请求本地JSON文件遭遇CORS策略拦截问题求助
解决本地AJAX请求JSON文件的CORS问题
当你直接用浏览器打开本地HTML文件时,浏览器使用file://协议,这种情况下同源策略会阻止AJAX请求本地JSON文件——file://协议的跨域规则和HTTP协议不同,所以触发了CORS报错。
下面是几种可行的解决办法:
启动本地HTTP服务器(推荐)
让HTML和JSON文件通过HTTP协议访问,就能避开CORS限制。用Python自带的服务器就能快速实现:# Python 3版本 python -m http.server 8000 # Python 2版本 python -m SimpleHTTPServer 8000启动后,在浏览器访问
http://localhost:8000/你的HTML文件名.html,再发起AJAX请求就正常了。修改浏览器参数(仅开发测试用)
不想搭服务器的话,可以临时关闭浏览器对file://协议的CORS限制:- Chrome/Edge:启动时添加
--allow-file-access-from-files参数 - Firefox:在地址栏输入
about:config,搜索security.fileuri.strict_origin_policy并设为false
注意:这种方法会降低浏览器安全性,只适合本地开发测试,不要用于日常浏览。
- Chrome/Edge:启动时添加
直接嵌入JSON内容(临时方案)
如果只是测试数据,可以跳过AJAX,直接把ali.json的内容复制到JS变量里:const data = { // 粘贴ali.json里的所有内容 }; console.log(data);
内容的提问来源于stack exchange,提问作者Ali Ahmed
相关产品推荐
相关产品推荐

