javascript – 如何在没有AJAX的情况下本地获取JSON

我正在使用
HTML5 Canvas和
Javascript构建游戏,我正在使用JSON格式的瓷砖地图作为我的关卡.瓷砖在FireFox中正确呈现,但是当我使用Chrome时,JSON提取失败,并且“Access-Control-Allow-Origin不允许使用Origin null”.我使用的是jQuery的$.ajax命令,我的所有文件都在一个目录中.

我会使用this post的解决方案,但我无法使用Web服务器解决方案.

有没有其他方法来获取要解析和读取的JSON文件?类似于通过提供URL加载图像的东西?或者有没有办法快速将我的JSON文件转换为全局可用字符串,以便我可以用JSON.parse()解析它?

最佳答案 为什么本地Web服务器不是一个选项? Apache是​​免费的,可以安装在任何东西上,并且易于使用,IMO.此外,对于Chrome,请查看–allow-file-access-from-files

但是,如果没有其他工作,也许你可以只添加脚本标签中的文件的链接,然后将var SomeGlobalObject = …附加到每个文件的顶部.您甚至可以通过使用JS将脚本标记附加到head来动态地执行此操作.但最后,你可以只使用JSON.parse(SomeGlobalObject)而不是使用AJAX.

换句话说,通过添加脚本标记将文件加载到全局命名空间中.通常这被认为是不好的做法,但仅用于测试,在没有任何其他选项的情况下,它可能有效.

点赞