2014-02-21 1 views
0

Я пытаюсь написать сервис для аутентификации пользователей при входе в систему:AngularJS Rest вызов для аутентификации пользователя

//Authentication Service 
app.factory("AuthenticationService", function($location, $http) { 
    return {  
    login: function(credentials) { 

    $http('api/auth/:username/:password',{'username': credentials.username, 'password' : credentials.password}) 
     .success(function(data,status,headers,config){ 
      if(data.success=="1"){ 
       //succefull login 
       credentials.isLogged = true; 
       credentials.username = data.username; 
       return true; 
      } 
      else{ 
       credentials.isLogged = false; 
       credentials.username = ''; 
       credentials.errormessage = "Login Failed! Try again..."; 
       return false; 
      } 
     }) 
     .error(function(data,status,headers,config){ 
      credentials.isLogged = false; 
      credentials.username = '';   
      credentials.errormessage = "Login Error. Missing Service"; 
      return false; 
     }); 

    }, 

    logout: function() { 
     $location.path('/logout'); 
    }, 

    checkAuth: function(){ 
     if (credentials.isLogged) { 
      return true; 
     } else { 
      $location.path('/admin/login'); 
     } 
    } 

    }; 
}); 

В бэкэндом У меня есть PHP API, который отвечает с:

[{'success':'0'}] 

Однако я не удается выполнить вызов надлежащим образом из Углового, так как он всегда возвращает сообщение «Ошибка входа в систему».

Может кто-нибудь взглянуть на этот код и рассказать мне, что я делаю неправильно? (Я думаю, многие вещи). Большое спасибо

EDIT

Я изменил PHP для возврата: { 'успех': '0'} (или 1, соответственно) Также я попытался

$http.post(...) 

Но я получаю 404. URL-адрес окончательно правильный, я должен делать что-то еще неправильно ...

ответ

1

Попробуйте {'success': '0'}, Я имею в виду, что вы не можете возвращать массивы в качестве корневого объекта.

0

Попробуйте ссылки на индекс массива, в котором содержится ваш объект:

if (data[0].success=="1") 
Смежные вопросы