Я пытаюсь использовать следующий код в приложении angular.js для переноса данных из одной базы данных в другую. Это одна из частей функции, чтобы получить авторизационные учетные данные для отправки POST в принимающую базу данных. Однако это не работает. Моя первая функция, ATsintegrationsService.beginBackfill(clientIDs)
, возвращает список претендентов в порядке. Ошибка начинается с getAuthToken()
. Несмотря на то, что он попадает в URL с правильными данными, я продолжаю получать сообщение об ошибке в сервисе. Может кто-нибудь пролить свет на то, что здесь происходит, я бы очень признателен. Я не понимаю, что может вызвать проблемы.
Основная функция (срабатывает нажатием кнопки Apply):
$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;
});
};
Мы выяснили, что проблема связана с заголовками CORS; код у меня был в порядке.
url = {snip}
возможно, с использованием OAuth 1 или 2? Какой грант_тип используется?