Olá, pessoal. Tudo certo com vocês? Estou com um problema no meu código, já tentei verificar outras perguntas aqui mas não consegui achar algo parecido com o meu problema, acredito que seja algo simples, pois estou iniciando em JS, jQuery e PHP (fazendo os cursos aqui da Alura). Mas vamos ao problema, quando envio dados do jQuery para o controlador, as informações não estão sendo emitidas, já tentei de tudo e não consegui identificar. Antes de serem enviadas, utilizei o console.log e verifiquei que no jQuery está funcionando, mas ao receber no controlador, a variável $request vem vazia. O que estou fazendo de errado? O que acho mais estranho, é que no arquivo script.js tem o processo #segundaDose, que chama a função getCalculoSegundaDose que está funcionando perfeitamente, mesmo com o método get. Não consigo entender qual o motivo das informações não serem recebidas pelo CalculadoraController, para realização dos cálculos.
Um resumo sobre o sistema: é um site simples, onde a pessoa coloca a data de vacinação e o sistema informa quando deverá tomar a segunda dose, ou a terceira dose. No caso da segunda dose, está funcionando perfeitamente, os erros aparecem somente no script que envia os dados para a terceira dose.
Segue meu código para verificarem:
SCRIPT JS
// -- SEGUNDA DOSE --
//Função que paga os dados do form, enviam para o controller e
//devolvem para impressão na tela da próxima data para vacinação
$('#segundaDose').submit(function(e){
e.preventDefault();
var dataForm = $('#segundaDose').serialize();
getCalculoSegundaDose(dataForm);
});
function getCalculoSegundaDose(dataForm) {
var url = window.location;
$.ajax({
url: url.origin+'/segundaDose',
type: 'GET',
data: dataForm,
dataType: 'json',
success: function(result){
var data = result.data.split('-').reverse().join('/');
var resultado = result.resultado.replace(/-/g, "/");
$('#respostaCalculo').prepend('<div class="alert alert-info mt-2" align="center" role="alert">Como você tomou a primeira dose em <strong> ' + data + ' </strong>,<br><strong>você poderá tomar a segunda dose da ' + result.vacina +' a partir de ' + resultado + '. </strong></div>');
},
error: function(){
$('#respostaCalculo').prepend('<div class="alert alert-warning mt-2 alignb="center">Não foi possível realizar o cálculo, por favor, tente novamente fornecendo a Vacina e Data da Vacinação.</div>');
}
});
}
// -- TERCEIRA DOSE --
$('#terceiraDose').submit(function(e){
e.preventDefault();
var dataForm1 = $('#terceiraDose').serialize();
getCalculoTerceiraDose(dataForm1);
});
function getCalculoTerceiraDose(dataForm1){
var url = window.location;
//Aqui a informação chega corretamente
console.log(dataForm1);
$.ajax({
ur: url.origin+'/terceiraDose',
type: 'GET',
data: dataForm1,
dataType: 'json',
success: function(result){
console.log(result);
var data = result.data.split('-').reverse().join('/');
var resultado = result.resultado.replace(/-/g, "/");
$('#respostaTerceiraDose').prepend('<div class="alert alert-info mt-2" align="center" role="alert">Como você tomou a segunda dose em <strong> ' + data + ' </strong>,<br><strong>você poderá tomar a terceira dose a partir de ' + resultado + '. </strong></div>');
},
error: function(){
$('#respostaTerceiraDose').prepend('<div class="alert alert-warning mt-2 alignb="center">Não foi possível realizar o cálculo, por favor, tente novamente fornecendo a data da segunda dose.</div>');
}
});
}
ROTAS
Route::get('calculadora', [CalculadoraController::class, 'index'])->name('calculadora_index');
Route::get('segundaDose', [CalculadoraController::class, 'segundaDose'])->name('segundaDose');
Route::get('terceiraDose', [CalculadoraController::class, 'terceiraDose'])->name('terceiraDose');