You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular1加载本地JSON文件报错ReferenceError: data is not defined

解决AngularJS加载本地JSON时的ReferenceError: data is not defined错误

嘿,我来帮你搞定这个问题!你遇到的ReferenceError: data is not defined错误其实是两个小细节问题导致的,咱们一步步来修正:

1. 移除GET请求里多余的data参数

你的$http配置里写了data: data,但这个data变量根本没定义,而且GET请求不需要设置请求体的data参数(GET的参数是通过URL查询字符串传递的,不是请求体),这就是报错的直接原因。

2. 正确解析JSON响应结构

你的JSON文件外层是一个包含data属性的对象,所以$http成功回调里拿到的响应数据,需要取它的data属性才能拿到你要的职位数组。

修正后的完整控制器代码

$scope.items = []; 
$scope.loadData = function () { 
  var httpRequest = $http({ 
    method: "GET", 
    url: 'joblist.json' // 移除了无效的data参数
  }).success(function (responseData, status) { 
    // 从响应数据中取出内层的data数组
    $scope.items = responseData.data; 
  }).error(function(error) {
    // 新增错误处理,方便调试加载失败的情况
    console.error('加载职位数据失败:', error);
  }); 
};

额外注意事项

  • 确保joblist.json文件的路径正确:如果它和你的HTML文件在同一目录,'joblist.json'是对的;如果在子文件夹(比如assets目录),要写成'assets/joblist.json'。
  • 可以在浏览器的开发者工具(Network标签)里查看请求状态,确认JSON文件是否成功加载,避免因为路径错误导致的隐性问题。

内容的提问来源于stack exchange,提问作者Sydnie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:11:53