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
相关产品推荐
相关产品推荐

