无法正确地从请求中分配信息Angular JS

时间:2016-07-04 15:38:09

标签: javascript angularjs

我需要向服务器发送一些请求并从中获取信息以将其写入数组。  功能如下:

   $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;
        })
    }

但是在这种情况下有一些错误,比如无法读取未定义的属性长度。

0 个答案:

没有答案