一尘不染

使用香草JS AJAX请求访问本地JSON文件时出现CORS错误?

ajax

我正在尝试使用香草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-
扩展资源。”

非常感谢您提供任何见解-非常感谢。


阅读 523

收藏
2020-07-26

共1个答案

一尘不染

基本上就像Felix,错误消息等,下面将说-无法对本地文件运行AJAX请求。

谢谢。

2020-07-26