Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中找不到JSON文件_Javascript_Json - Fatal编程技术网

在javascript中找不到JSON文件

在javascript中找不到JSON文件,javascript,json,Javascript,Json,我试图从javascript加载一个JSON文件,但即使路径是正确的,我仍然会遇到以下错误 [HTTP/1.1 404 Not Found 2ms] 这是我用来加载它的代码 loadJSON(callback) { var xobj = new XMLHttpRequest(); xobj.overrideMimeType("application/json"); xobj.open('GET', 'Assets/test.json', true); // Replac

我试图从javascript加载一个JSON文件,但即使路径是正确的,我仍然会遇到以下错误

[HTTP/1.1 404 Not Found 2ms]
这是我用来加载它的代码

loadJSON(callback) {
    var xobj = new XMLHttpRequest();
    xobj.overrideMimeType("application/json");
    xobj.open('GET', 'Assets/test.json', true); // Replace 'my_data' with the path to your file
    xobj.onreadystatechange = function () {
        if (xobj.readyState == 4 && xobj.status == 200) {
            // Required use of an anonymous callback as .open will NOT return a value but simply returns undefined in asynchronous mode
            callback(xobj.responseText);
        }
    };
    xobj.send(null);
}

window.onload = function () {
var canvas = <HTMLCanvasElement> document.getElementById('Can');
context = canvas.getContext('2d');

load = new preload.AtlasLoader();
load.loadJSON(init);


}

function init(response) {
    image2 = JSON.parse(response);
}
loadJSON(回调){
var xobj=新的XMLHttpRequest();
重写emimetype(“application/json”);
open('GET','Assets/test.json',true);//用文件路径替换'my_data'
xobj.onreadystatechange=函数(){
if(xobj.readyState==4&&xobj.status==200){
//要求使用匿名回调as.open将不会返回值,而只是在异步模式下返回未定义的值
回调(xobj.responseText);
}
};
xobj.send(空);
}
window.onload=函数(){
var canvas=document.getElementById('Can');
context=canvas.getContext('2d');
load=新的预加载。AtlasLoader();
load.loadJSON(init);
}
函数初始化(响应){
image2=JSON.parse(响应);
}

提前感谢

我在这个帖子中找到了答案:


这是IIS的配置问题,您只需添加问题答案中发布的LNE。

如果您得到的是404,则地址不可能正确。要么是JavaScript代码错误,要么是服务器将文件放在了错误的位置。显然,您的路径不正确——这就是404的意思。也许您缺少前导的
/
?一些浏览器会将您的URL解释为“将
资产/test.json
添加到当前位置”。请尝试
/Assets/test.json
。您可以在浏览器的开发人员工具的“网络”选项卡中查看有关已发布查询的更多信息。您确实能够在浏览器中查看文件本身吗?也许可以尝试将
。/
添加到位置URL的开头,或者只添加一个
/
?如果您可以在浏览器中直接访问它,请尝试将完整的直接URL添加到JS代码中,然后看看上面说了什么?然后您就会知道这与您的相对URL有关。也可能您的服务器没有配置为使用
.json
扩展名和
应用程序/json
MIME类型交付文件。