RMarkdown转HTML后服务器加载本地JSON遇资源错误求解决
解决RMarkdown HTML加载本地JSON文件的问题
问题根源
你使用了本地磁盘的绝对路径(C:/Users/Data/my_json.json),即使通过Prepros启动了服务器,浏览器出于安全限制不允许直接访问本地文件系统路径,同时Prepros的服务器只会从它的项目根目录查找文件,无法识别跨目录的本地绝对路径,因此出现404和资源加载禁止的错误。
具体解决步骤
将JSON文件移入Prepros项目目录
找到Prepros当前服务的项目根目录(即你存放RMarkdown生成HTML的文件夹),把my_json.json复制到这个目录内,也可以在目录下新建data之类的子文件夹来存放,方便管理。修改JavaScript中的文件路径
根据JSON文件的位置调整路径:- 若JSON在项目根目录,路径改为
"my_json.json" - 若放在
data子文件夹,路径改为"data/my_json.json"
修改后的代码示例:
$(document).ready(function(){ $.getJSON("my_json.json", function(data){ console.log(data); }).fail(function(){ console.log("An error has occurred."); }); });- 若JSON在项目根目录,路径改为
验证路径有效性
在浏览器地址栏输入http://localhost:8848/my_json.json(对应你设置的路径),如果能正常显示JSON内容,说明路径配置正确,此时刷新HTML页面即可正常加载JSON数据。
额外注意事项
如果仍加载失败,检查JSON文件的格式是否标准,确保没有语法错误(比如逗号遗漏、引号不匹配等)。
内容的提问来源于stack exchange,提问作者DiamondJoe12
相关产品推荐
相关产品推荐

