获取本地文件

309 阅读1分钟
  • 1、 通过ajax

由于谷歌的安全限制,不能加载,会报错

报错的大概意思是: 跨源请求支持的协议有:http,data,chrome,chrome-extension,https。 因为不支持file协议,所以我的跨域请求被 CORS(跨域资源共享) 政策拒绝了。

    $.ajax({
		url: 'config',
			async: false,
			success: function(data) {
				if (data) {
					let tranObj = JSON.parse(data)
					isTranslate = tranObj.translate
				}
			}
		})
  • 2、 通过jsonp

jsonp中 需要注意的是 <script src="file/employeejson.json?cb=train"></script> src ? 之前为文件地址, ? 之后为回调函数callback名称, 回调函数可以简写为 cb , 然后 回调函数 名称要与JSON文件中的名称一致

<script>  
    //回调函数  
    function train (data){  
        console.log(data);  
    }  
</script>  
<script src="file/employeejson.json?cb=train"></script>  
---------------------------------------------------------------------
//JSON文件  
train( [  {  "name":"xx",  "id":"ww"  }  ]  )  
  • 3、 通过script动态引入

变量名要与文件一致

var trans;
var script = document.createElement('script');
	script.type = "text/javascript";
	// script.async = false;
	script.src = './material/word/worddict_data.json';
	document.body.appendChild(script);
	script.onload = function() {
	console.log(trans)
	//一般进行数据处理
	console.log('script加载完执行')
	};
//在这处理数据也是也可以
window.onload=function(){}
---------------------------------------------
//文件内容
trans = {"translate": 1}