2016-12-14 19 views
0

我需要如何訪問一個變量out功能

batchdata:{course_name:"xyz",batch_fees:"1200",---,course_id:"xyz123"}

發送到數據庫,但我有問題發送course_idbatchData沿着我是從另一個服務採取course_id那基本課程表,所以請看着我不訪問該代碼 - >response.data.data[0]._id因爲我不能訪問它的功能外,因爲它的局部變量那麼有沒有什麼辦法讓我可以綁定course_idbatchData對象..

app.controller('batch_add', function($scope, $http) { 
     $http.get("/courses/getall") 
     .then(function(response) { 
       if (response.data.length == 0) { 
        $scope.items = [{ course_name: "No data", course_desc: "No data", course_fees: "No data" }]; 
       } else { 
        $scope.items = response.data.data; 
        var course_name_items = [] 
        for (var i = 0; i < $scope.items.length; i++) { 
         course_name_items.push($scope.items[i].course_name) 
        } 
        $scope.course_items = course_name_items; 
       } 
      }); 

     $scope.batch_status_items = ['Pending', 'Running', 'Finished', 'Canceled' ] 



     $scope.batchData={}; 
     $scope.login = {"batchData" : $scope.batchData}; 
     $scope.submitForm = function() { 
     $scope.login = {"batchData" : $scope.batchData}; 
     $scope.fail = false; 
      $http({ 
       method : 'POST', 
       url: 'batches/add', 
       data : $scope.login 
     }) 
      .success(function(data) { 
       if (data.success == true) { 
        $scope.fail = true; 
        $scope.success = true; 
        $scope.success_message = data.message; 
        var courseName = $scope.batchData.course_name; 
        $http.get("/courses/search/"+courseName) 
        .then(function(response) { 
          if (response.data.length == 0) { 
          console.log("error"); 
          } else { 
           $scope.batchData.course_id= response.data.data[0]._id 

          } 
         }); 
          toastr.options = {"positionClass": "toast-bottom-right"} 
          Command: toastr["success"]("A new batch has been added!") 
        } else { 
         $scope.fail = true; 
         $scope.success = false; 
         $scope.error_message = data.message; 
         console.log($scope.success_message); 
        // toastr.error('Something went wrong.', 'Ooops!') 
        }      
      }); 
    $scope.batchData.course_id = response.data.data[0]._id 
      }; 
     }); 

回答

0

爲什麼不先獲取course_id,然後將該id與batchData一起發送到數據庫?

+0

如果您看到course_name_items數組,它會在UI中創建一個選擇框,而不是我們在選擇課程名稱後獲得課程名稱,並且晚於courseName是找到course_id的關鍵,因此我無法首先獲得課程_id –

+0

我的意思是在submitForm函數的開始處發送batchData之前查找course_id。 – salix

+0

感謝很多兄弟的工作 –