Rozdziel metodę na wysyłanie i odbieranie. Obecnie masz tylko odbieranie (POST).Wspóldziel zasoby dla tego controlera.
Bo twój kod wykonuje post, potem odpalasz obiecankę, zakładając, że submitLogin wykona się no i ma odebrać response, skąd ma być ten response? submitLogin nic nie zwraca, dlatego wywala null i zgodnie z twoim założeniem nie ma nic.
$scope.output = response.data.text;
metoda text dla text/html nie dla JSON. (Patrz nagłówek żądania)
console.log($scope.login);
console.log($scope.password);
Nie będzie działać ,gdyż znajdują się w innym zasięgu niż promise, musisz bindować (gorzej ale bezpieczniej) lub użyć arrow function (fajniejsze, ale na niektórych przeglądarkach nie działa).
Po trzecie, nie używaj tylu funkcji anomimowych!, bo można dostać oczupląsu! :P
I kwiatuszek na końcu:
function() {
});
Co to jest?