我有一个json数组,我试图得到该数组的长度,但我得到一个未定义的错误。
$http.post('http://localhost:8099/mescc/seci/tools/ManageSettings',addOrUpdateJson)
.success(
function(dat, status,
headers, config) {
$scope.loading=false;
$scope.table=true;
$scope.allConfigDatabase = dat;
for (var i = 0, len = dat.data.length; i < len; i++)
{
$scope.editingData[$scope.allConfigDatabase.data[i].id] = false;
}
$scope.searchParameter = "";
$scope.updateView=false;
$scope.$apply();
})
.error(
function(data, status,headers, config) {
});
答案 0 :(得分:0)
POST请求的响应位于success函数的'dat'参数中。我指出这只是因为我看到你使用'数据'作为错误函数,也许以前的重命名导致了错误。
此“未定义”错误表示您的json响应没有“data”属性。更清楚的是,它看起来不像:
{ foo: {}, bar: {}, data:[1,2,3,4] }
您可以使用angular提供的实用程序功能来更好地检查客户端:
if (angular.isArray(dat.data)) {
//...
}