2016-04-14 8 views
0

私はWebアプリケーションをやっています。今、私は認証ページをしています。サーバーはDjangoで終了します。しかし、サーバーはjsonを期待しています。どのように変換することができ、データを送信する前に変換する必要がありますか?ありがとう!角型の認証用データを送信する前にJsonに変換

これは、認証サービスのコードは次のようになります。

'use strict'; 

app.factory('AuthService', function ($http, $window, $q, API_SERVER) { 

var authenticate = function (email, pwd, endpoint) { 
    var url = API_SERVER + endpoint; 
    var deferred = $q.defer(); 

    $http.post(url, 'email=' + email + '&pwd=' + pwd, { 
    headers: { 
     'Content-Type': 'application/json' 
    } 
    }).then(
    function (response) { 
     var token = response.data.token; 
     var email = response.data.email; 

     if (token && email) { 
     $window.localStorage.token = token; 
     $window.localStorage.email = email; 
     deferred.resolve(true); 
     } else { 
     deferred.reject('Invalid data received from server'); 
     } 
    }, 
    function (response) { 
     deferred.reject(response.data.error); 
    } 
); 
    return deferred.promise; 
}; 

var logout = function() { 
    var deferred = $q.defer(); 
    var url = API_SERVER + 'logout/'; 

    $http.post(url).then(
    function() { 
     $window.localStorage.removeItem('token'); 
     $window.localStorage.removeItem('email'); 
     deferred.resolve(); 
    }, 
    function (error) { 
     deferred.reject(error.data.error); 
    } 
); 
    return deferred.promise; 
}; 

return { 
    register: function (email, pwd) { 
    return authenticate(email, pwd, 'accountmanager/'); 
    }, 
    login: function (email, pwd) { 
    return authenticate(email, pwd, 'login/'); 
    }, 
    logout: function() { 
    return logout(); 
    } 
}; 

}); 

答えて

1

これは動作するはずです:

var obj = { 
    email:email, 
    pwd:pwd 
} 
$http.post(url, obj).then() 
+0

は、残念ながら、それは動作しません:/ – panagulis72

+0

私はあまりにも 'ログイン' 機能を編集する必要がありますか? – panagulis72

関連する問題