Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Erro no Popup

Na última etapa onde criamos a função para exibir um alerta de ERRO caso os campos estejam em branco aconteceu um problema. Mesmo se preencher todos os campos só aparece a mensagem de erro alguém pode dar uma olhada no código e ver aonde eu errei, não estou encontrando.

controlle.js "FinalizarPedidoController"

angular.module('starter')
.controller('FinalizarPedidoController', function($stateParams, $scope, $ionicPopup, $state, CarroService){

    $scope.carroFinalizado = angular.fromJson($stateParams.carro);

    $scope.pedido = {};

    $scope.finalizarPedido = function(){

        var pedidoFinalizado = {
            params: {
                carro: $scope.carroFinalizado.nome,
                precco: $scope.carroFinalizado.preco,
                nome: $scope.pedido.nome,
                endereco: $scope.pedido.endereco,
                email: $scope.pedido.email 
            }
        }

        CarroService.salvarPedido(pedidoFinalizado).then(function(dados){
            $ionicPopup.alert({
                title: 'Parabéns',
                template: 'Você acabou de comprar um carro'
            }).then(function(){
                $state.go('listagem');
            });

        }, function(erro){
            $ionicPopup.alert({
                title: 'Deu erro',
                template: 'Todos os campos são obrigatórios'
            });
        });

    }

});

service.js

angular.module('starter')
.service('CarroService', function($http){

    var url = 'https://aluracar.herokuapp.com/';

    return{
        obterCarros : function(){
            return $http.get(url).then(function(response){
                return response.data;
            });
        },
        salvarPedido: function(pedido){
            return $http.get(url + "salvarpedido", pedido).then(function(response){
                return "Deu certo";
            });
        }
    }

});
3 respostas

Oi André.

Primeiramente, desculpe a demora em te responder.

Após a requisição aparece algum erro no console? Assim a gente pode ver o que o servidor retornou.

Outra coisa é o retorno do seu service

return "Deu certo";

Tente trocar para

return response.data;

Assim retorna o valor lá do servidor.

solução!

Lazaro eu baixei o projeto aqui da ultima aula e fui comparando pra ver onde tinha errado.

-- não tinha erros no console. foi apenas erro de digitação, eu nem precisei trocar o

return "Deu certo";

Sem problemas quanto a demora, fico feliz quando consigo encontrar o erro . =)

Maravilha andré.

O problema de retornar essa String ao inves do response.data é que vc ignora o retorno do servidor, mas se não for fazer nada esses dados, não tem problema algum.

=D

Bons estudos.