2016-12-26 3 views
0

Я немного проблема с моей просьбой к внешнему API, которые используют X-Auth-Токен:запрос Использование Ajax с помощью X-Auth-токен в angularjs контроллера

'user strict'; 
 
app.controller("controller" ,function($scope,$http) { 
 
\t \t \t \t 
 
\t \t \t \t $scope.result = $.ajax({ 
 
\t \t \t \t headers: { 'X-Auth-Token': '*****' }, 
 
\t \t \t \t url: 'http://api.************', 
 
\t \t \t \t dataType: 'json', 
 
\t \t \t \t type: 'GET', 
 
\t \t \t \t success: function(data){ 
 
\t \t \t \t \t return data; 
 
\t \t \t \t \t 
 
\t \t \t \t } 
 
\t \t \t \t }); 
 
\t \t \t \t console.log($scope.result); 
 
});
является результатом код: enter image description here

Когда я пытаюсь сделать это:

console.log($scope.result.responseJSON);

Результатом этого является неопределенный объект. Любые идеи по этой проблеме?

+0

Почему вы используете '$ .ajax', а не' $ http' в угловом приложении? – charlietfl

+0

Я не знаю, как использовать X-Auth-Token с $ http! –

+0

заголовки объясняются в документах – charlietfl

ответ

1

Функция $.ajax() не возвращает результат, так как она асинхронна. Вместо этого ваш результат предоставляется вам через обратный вызов success. Так что ваш код должен выглядеть следующим образом:

'user strict'; 
app.controller("controller" ,function($scope,$http) { 

    $scope.init = function(){ 
     $.ajax({ 
      headers: { 'X-Auth-Token': '*****' }, 
      url: 'http://api.************', 
      dataType: 'json', 
      type: 'GET', 
      success: function(data){ 
       $scope.result = data; 
      } 
     }); 
    }; 

    $scope.init(); 
}); 

Примечание: вы можете использовать $http.get(..) вместо $.ajax(..). Он возвращает что-то, называемое Promise, и чаще встречается в угловых приложениях. Использование довольно похоже на вышесказанное. Это примерно так:

$http.get('http://api.************', { 
    headers: { 
     'X-Auth-Token': '*****' 
    }, 
    responseType: 'json' 
}).then(function(result){ 
    $scope.result = result; 
}); 

Возможно, вы должны отделить запросы api от службы. Если вы найдете хороший учебник по угловому стилюгию/лучшей практике, вы должны получить некоторые ценные указатели.