Javascript 在JQuery中解析JSON文件

Javascript 在JQuery中解析JSON文件,javascript,jquery,json,Javascript,Jquery,Json,我正在尝试使用query解析一个JSON文档(它位于一个单独的文件中) 文档位于目录中。 我只使用Apache2运行我的本地机器 JQuery文件的路径是(从项目根目录):/js/calc/costs.js JSON文件的路径是(从项目根目录):/JSON/baseCosts.JSON 相关代码: var jsonFile = '../../json/baseCosts.json'; calculate(1,0,jsonFile); function calculate(typeVal, l

我正在尝试使用query解析一个JSON文档(它位于一个单独的文件中)

文档位于目录中。 我只使用Apache2运行我的本地机器

JQuery文件的路径是(从项目根目录):
/js/calc/costs.js
JSON文件的路径是(从项目根目录):
/JSON/baseCosts.JSON

相关代码:

var jsonFile = '../../json/baseCosts.json';

calculate(1,0,jsonFile);

function calculate(typeVal, levelVal, jsonFile) {
        var jsonObject = $.getJSON(jsonFile);
        console.log(jsonObject);
}
(我省略了不必要的代码)

这就是代码失败的地方。检查日志后,在尝试检索jsonObject时,似乎出现了404错误


有人知道为什么会这样吗?

为什么不直接请求/json/baseCosts.json?

路径是相对于页面的加载位置,而不是Javascript的加载位置

如果页面与
json
文件夹位于同一文件夹中,则路径为:

var jsonFile = 'json/baseCosts.json';
getJSON
方法仅返回用于发送请求的XHR对象,使用可在调用中指定的回调函数来处理响应:

function calculate(typeVal, levelVal, jsonFile) {
  $.getJSON(jsonFile, function(data){
    console.log(data);
  });
}

getJSON有一个回调函数

function calculate(typeVal, levelVal, jsonFile) {
    $.getJSON(jsonFile, function(jsonObject) {
        console.log(jsonObject);
    });
}
这应该起作用:

var jsonFile = '/json/baseCosts.json';

calculate(1,0,jsonFile);

function calculate(typeVal, levelVal, jsonFile) {
        var jsonObject = $.getJSON(jsonFile);
        console.log(jsonObject);
}

注意路径?

因为您的路径错误。尝试绝对链接。