2017-02-05 1 views
1

Код переднего конца POST учетных данных пользователя на заднем конце, а если учетные данные недействительны, то ответы на серверном сервере 400 плохой запрос и данные ответа ниже

{ 
    "error": "invalid_grant", 
    "error_description": "Invalid username or password" 
} 

Я вижу этот ответ на вкладке сети в браузере, а также в приложении postman chrome.

По какой-то причине я не могу получить этот ответ или уловить ошибку или статус ошибки. Подпишитесь, пожалуйста, на мой код фрагментов ниже

newLoginAuth: function(credentials) { 
    var deferred = $q.defer(); 

    $http({ 
    url: 'https://myserver.com/api/connect/token', 
     method: "POST", 
     data: { 
     'username': credentials.username, 
     'password': credentials.password, 
     'clientId': 'clientId', 
     'clientSecret': 'Y2xpZW50U2VjcmV0' 
     }, 
     headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8' }, 

     transformRequest: function(obj) { 
     var str = []; 
     for(var p in obj) 
      str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p])); 
      return str.join("&"); 
     } 
     }) 
     .then(function(response) { 
     deferred.resolve(response); 
     }, function(response) { 
     deferred.reject(response); 
     }); 

     return deferred.promise; 
    } 


myService.newLoginAuth({username: self.userName, password: self.password}) 
      .then((result) => { 

      console.log(result); //undefined 
      }); 

Может кто-нибудь мне помочь? Я здесь что-то не так?

+1

почему вы используете '$ q.defer()', когда явно '$ HTTP (' возвращает Promise –

+0

Если запрос перекрестно происхождение, оно может так же, как вчера, когда в API задействованы только заголовки CORS на http status 200 - любой другой статус (403 в другом вопросе), и API не отправил заголовки CORS, что делает ответ недоступным для запроса - и статус http, приводящий к '0', то есть больше кодовых обезьян, не зная, как написать полезный API –

+0

@JaromandaX Понял ваш второй комментарий. Не могли бы вы рассказать и дать мне правильный путь, если что-то не так в моем кодовом snippe т? –

ответ

1

Объект ответа имеет следующие свойства:

data – {string|Object} – The response body transformed with the transform functions. 
status – {number} – HTTP status code of the response. 
headers – {function([headerName])} – Header getter function. 
config – {Object} – The configuration object that was used to generate the request. 
statusText – {string} – HTTP status text of the response. 

if(response.status == 400) alert('Bad Request'); 
+0

Вы пробовали выше решение? –

+1

Я получаю ответ как неопределенный, что является проблемой –

Смежные вопросы