2015-11-05 99 views
0

我正在嘗試angular.js應用程序中的以下代碼,以將數據從一個數據庫遷移到另一個數據庫。這是功能的一部分,以獲得授權憑證以將POST發送到接收數據庫。但是,它不起作用。我的第一個職能ATsintegrationsService.beginBackfill(clientIDs)返回申請人列表罰款。該錯誤始於getAuthToken()。即使它使用正確的數據擊中URL,我仍然在服務中遇到錯誤。任何人都可以點亮這裏發生的事情,我真的很感激。我對可能導致我的問題的事情感到不知所措。Angular Chain HTTP導致錯誤

主要功能(通過點擊應用按鈕觸發):

$scope.beginBackfill = function() { 
    $scope.loading = true; 
    AtsintegrationsService.beginBackfill($scope.clientids).then(function (response) { 
     $scope.applicants = response.data; 
     $scope.getAuthToken(); 
     $scope.createSuccess = true; 
     $scope.loading = false; 
    }, 
     function(error) { 
      $scope.loading = false; 
      $scope.createFailure = true; 
      console.log("Failure to backfill data - " + error); 
     }); 
    }; 

這裏是$scope.getAuthToken()

$scope.getAuthToken = function() { 
    AtsintegrationsService.getAuthToken().then(function (response) { 
     $scope.authToken = response.data; 
     console.log($scope.authToken); 
    }, 
    function(error) { 
     $scope.loading = false; 
     $scope.createFailure = true; 
     console.log("Failure to obtain auth token - " + error); 
     console.log(error); 
    }); 
}; 

最後,對於getAuthToken()服務代碼 - 一些數據已被刪除,並表示由{snip}

srvc.getAuthToken = function() { 
var url = {snip}; 

return $http({ 
    headers: { 
     'Content-Type': 'application/x-www-form-urlencoded' 
    }, 
    responseType: 'json', 
    method: 'POST', 
    url: url, 
    data: 
    { 
     "grant_type": "{snip}", 
     "client_id": {snip}, 
     "client_secret": "{snip}" 
    } 
}) 
    .success(function (data) { 
    console.log("We have a proper return."); 
    return data; 
    }) 
    .error(function (data) { 
    console.log("There was an error in the service."); 
    return data; 
    }); 
}; 
+0

getIuthToken服務在'url = {snip}''也許使用OAuth 1或2?什麼樣的grant_type被使用? – Kenney

+0

grant_type = client_credentials 我已經測試了郵遞員的路線,它工作正常。但是,當我在代碼中執行相同的「東西」時,我得到的只是錯誤console.logs。 編輯:此外,添加OAuth 2正在使用。 – lmcphers

+0

好吧,只需看看郵遞員,唯一的選擇就是將標記添加到URL或HTTP標頭。我不知道服務是如何實現的(服務器端),以及它接受的是什麼,但是可能需要在URL中將'data:{..}'中的字段作爲GET參數發送。 – Kenney

回答

0

我們發現問題出在CORS頭上;我的代碼很好。