Sempre que envio o form de agendamento, ele dá falha (cai no erro do envio do form). Quando vou inspecionar o erro, no terminal não apresentada nada e na aba Network do Browser não existe nenhum método post, apesar do meu serviço ser feito via post.
agendamentos-service.ts
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Injectable()
export class AgendamentosServiceProvider {
private _url = 'http://localhost:8080/api';
constructor(private _http: HttpClient) {
}
agenda(agendamento) {
return this._http.post(this._url+'/agendamento/agenda', agendamento);
}
}
cadastro.ts
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams, AlertController, Alert } from 'ionic-angular';
import { Carro } from '../../modelos/carro';
import { AgendamentosServiceProvider } from '../../providers/agendamentos-service/agendamentos-service';
import { HomePage } from '../home/home';
import { Agendamento } from '../../modelos/agendamento';
@IonicPage()
@Component({
selector: 'page-cadastro',
templateUrl: 'cadastro.html',
})
export class CadastroPage {
public carro: Carro;
public precoTotal: number;
private _alerta: Alert;
public nome: string = '';
public endereco: string = '';
public email: string = '';
public data: string = new Date().toISOString();
constructor(
public navCtrl: NavController,
public navParams: NavParams,
private _alertCtrl: AlertController,
private _agendamentosService: AgendamentosServiceProvider) {
this.carro = this.navParams.get('carroSelecionado');
this.precoTotal = this.navParams.get('precoTotal');
}
agenda() {
if (!this.nome || !this.endereco || !this.email) {
this._alertCtrl.create({
title: 'Preenchimento obrigatório',
subTitle: 'Preencha todos os campos!',
buttons: [
{ text: 'ok' }
]
}).present();
return;
}
let agendamento: Agendamento = {
nomeCliente: this.nome,
enderecoCliente: this.endereco,
emailCliente: this.email,
modeloCarro: this.carro.nome,
precoTotal: this.precoTotal
};
this._alerta = this._alertCtrl.create({
title: 'Aviso',
buttons: [
{
text: 'ok',
handler: () => {
this.navCtrl.setRoot(HomePage);
}
}
]
});
let mensagem = '';
this._agendamentosService.agenda(agendamento)
.finally(
() => {
this._alerta.setSubTitle(mensagem);
this._alerta.present();
}
)
.subscribe(
() => {
mensagem = 'Agendamento realizado!';
},
() => {
mensagem = 'Falha no agendamento! Tente novamente mais tarde!';
}
);
}
}