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

AngularJS解析JSON响应:新手调用WebService并在控制器处理数据

AngularJS调用Web服务并处理JSON数据完整实现

嘿,作为AngularJS新手,你已经走对了第一步——设置请求URL和授权头,接下来我帮你补全代码,把返回的JSON数据正确填充到数组里:

var nameBarcodePrjList = []; 
var url = $rootScope.BaseURL + "PROJECT"; 
var configPrj = { 
    headers: { 
        'Authorization': `Basic ${$scope.key}` 
    } 
}; 

$http.get(url, configPrj)
    .then(function (response) { 
        // 成功回调:处理返回的JSON数据
        var nameBarcodePrjData = response.data.value; 
        // 遍历返回的数据集
        for (var i = 0; i < nameBarcodePrjData.length; i++) { 
            var namePrjBarcode = { 
                Name: nameBarcodePrjData[i].Name, // 替换成接口返回的实际名称字段
                Barcode: nameBarcodePrjData[i].Barcode // 替换成接口返回的实际条码字段
            }; 
            // 将处理后的对象添加到数组
            nameBarcodePrjList.push(namePrjBarcode);
        }
        // 如果需要把数组绑定到视图,记得赋值给$scope的属性,比如:
        // $scope.projectList = nameBarcodePrjList;
    }, function(error) {
        // 错误回调:处理请求失败的情况
        console.error('获取项目数据失败:', error);
        // 这里可以添加用户提示,比如$scope.errorMsg = '加载项目列表失败,请稍后重试';
    });

关键注意点:

  • 字段匹配:请把nameBarcodePrjData[i].Name和nameBarcodePrjData[i].Barcode替换成你实际接口返回的字段名,比如如果接口返回的是project_name和project_barcode,就改成对应的键名
  • 视图绑定:如果需要在页面上展示这个列表,一定要把数组赋值给控制器的$scope属性(比如$scope.projectList = nameBarcodePrjList),这样AngularJS的双向绑定才能生效
  • 错误处理:不要忽略then的第二个错误回调函数,这样能在请求失败时及时排查问题或者给用户友好提示
  • 异步特性:$http.get是异步请求,如果你要在请求完成后做其他操作,一定要把逻辑写在then回调里,不要直接在请求外面操作nameBarcodePrjList,否则会拿到空数组

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:55:01