我需要向服务器发送一些请求并从中获取信息以将其写入数组。 功能如下:
$scope.addInstrument = function(themat) {
$scope.data = '{"func":"addInstrument", "thematerial":"' + themat + '", ';
$scope.data += '"lifespan":"' + $scope.lifespan + '"}';
Server.fetch($scope.data, $rootScope.token).then(function(data) {
return data[0].addinstrument;
})
}
调用函数的控制器中的代码:
for (var i = 0; i < $scope.amount; i ++) {
$scope.inventnum[$scope.inventnum.length] = $scope.addInstrument(themat);
}
angular.forEach($scope.inventnum, function(value) {
alert(value);
})
向服务器发送请求的功能:
app.service('Server', function (AuthService) {
this.fetch = function (data, token) {
return fetch('http://104.197.58.108:8080', {
method: 'post',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify({
data: data,
token: token
})
})
.then(function(response) {
return response.json()
}).then(function(data) {
if (data.success == false) {
return AuthService.logout();
} else {
return data;
}
})
}
})
之后,它会提示“未定义”正确的次数。 我还尝试在函数addInstrument()中为数组赋值:
$scope.addInstrument = function(themat) {
$scope.data = '{"func":"addInstrument", "thematerial":"' + themat + '", ';
$scope.data += '"lifespan":"' + $scope.lifespan + '"}';
Server.fetch($scope.data, $rootScope.token).then(function(data) {
$scope.inventnum[$scope.inventnum.length] = data[0].addinstrument;
})
}
但是在这种情况下有一些错误,比如无法读取未定义的属性长度。