我正在尝试使用香草JS AJAX请求从本地存储的JSON文件中拉回JSON字符串(特别是尝试不使用JQuery)-以下代码基于此答案 -但我在Chrome控制台中不断收到错误(见下文)。有什么想法我要去哪里吗?我尝试更改xhr.open和.send请求的位置,但仍然收到错误消息。我怀疑问题在于.send()请求?
//Vanilla JS AJAX request to get species from JSON file & populate Select box function getJSON(path,callback) { var xhr = new XMLHttpRequest(); //Instantiate new request xhr.open('GET', path ,true); //prepare asynch GET request xhr.send(); //send request xhr.onreadystatechange = function(){ //everytime ready state changes (0-4), check it if (xhr.readyState === 4) { //if request finished & response ready (4) if (xhr.status === 0 || xhr.status === 200) { //then if status OK (local file || server) var data = JSON.parse(xhr.responseText); //parse the returned JSON string if (callback) {callback(data);} //if specified, run callback on data returned } } }; } //----------------------------------------------------------------------------- //Test execute above function with callback getJSON('js/species.json', function(data){ console.log(data); });
Chrome中的控制台抛出此错误:
“ XMLHttpRequest无法加载文件:/// C:/Users/brett/Desktop/SightingsDB/js/species.json。跨源请求仅支持以下协议方案:http,数据,chrome,chrome扩展名,https,chrome- 扩展资源。”
非常感谢您提供任何见解-非常感谢。
基本上就像Felix,错误消息等,下面将说-无法对本地文件运行AJAX请求。
谢谢。