Ir ao conteúdo

Posts recomendados

Postado

Olá pessoal, estava desenvolvendo um front end de uma aplicação e preciso criar um login com um back end em nodejs, porém quando faço o $http.post recebo erro como resposta, segue o código que ainda está incompleto:

html

<html ng-app = "myapp" ng-controller = "ctrl" ng-init="user = {email:'',password:''}">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Tela de Login</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
 <script src='https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.js'></script>
</head>
<body>
<button type="button" class="btn btn-primary" ng-click = "func()" id = "btn">LOGIN</button>
<div id="myModal" class="modal fade">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
              <h4 class="modal-title"><p>LOGIN</p></h4>
            </div>
            <div class="modal-body">
		 <form>
  <div class="form-group">
    <label for="email">Usuario:</label>
    <input type="email" class="form-control" id="email" ng-model = "user.email"></div>
  <div class="form-group">
    <label for="pwd">Senha:</label>
    <input type="password" class="form-control" id="pwd" ng-model = "user.password">  </div>
  <div class="checkbox">
    <label><input type="checkbox"> Remember me</label>
  </div>
  <button type="submit" class="btn btn-primary" ng-click = "enviar()">LOGIN</button>
</form>
                
                
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-primary" data-dismiss="modal">Close</button>
                </div>
        </div>
    </div>
</div>
  
</body>
</html>     

css

#btn{
  position: relative;
  left:900px;
  top:5px;
}
.modal-header{
  background: rgb(33, 100, 188);
}

p{
  color: white;
  }

javascript

var app = angular.module("myapp", []);
app.controller("ctrl", function($scope, $http){
  $scope.func = function(){
	$(document).ready(function(){
		$("#myModal").modal('show');
	})};
  $scope.enviar = function(){
    var data = JSON.stringify({email: $scope.user.email, password: $scope.user.password});
    $http.post("https://radar-ufla.herokuapp.com/login", data).success(function(response){
            $scope.resposta = response.data;
            alert($scope.resposta);
        }).error(function(response){
      alert("ERROR");
    });
    //alert(data);
    $scope.user.email = "";
    $scope.user.password = "";
  }
});

os dados para o back end são: usuario: neumar@dcc.ufla.br e senha:123456 e o jason deve ser { email: 'neumar@dcc.ufla.br', password: '123456' }, porém como eu disse dá erro e é a primeira vez que estou mexendo com angularjs.

desde agradeço a atenção.

  • 3 semanas depois...
Postado

nao sei se ainda precisa, mas vamos la.

 

consegui fazer o login com os dados informados, acredito que o problema esteja em $scope.resposta = response.data, ja que o objeto que o servidor retorna nao tem uma propriedade chamada data.

Object { _id: "58ae4dec7ad8750004c3992a", email: "neumar@dcc.ufla.br", password: "123456", nome: "Neumar Malheiros", categoria: "professor", setor: "DCC", __v: 0, token: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ…", auth: true }

 

isso funcionou: $scope.resposta = response; console.log(response.email);

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!