I would like to say that I researched the forum and found some similar questions, but no answer solved my problem. Follow my question:
Doubt:
I'm trying to delete a notification by ajax, but the error is occurring. The variables project_id and n_notification are like undefined . How do I fix this?
Error:
ProjectController.php:(methodremoveNotification)
//EstemétodoremoveaNotificaçãopublicfunctionremoveNotificacao(Request$request){$notificacao=HistoricoNotificacao::find($request->id)->where('n_notificacao','=',$request->nnotificacao);$nnotificacao=$request->nnotificacao;if(!$notificacao)returnresponse()->json(['error'=>'not_found'],404);$response=$notificacao->deletarNotificacao($notificacao);if($response['success']){returnresponse()->json(['success'=>$response['message']],200);}else{//Casonãodelete,informaumerroinesperadoreturnredirect()->json(['error'=>'Erroaoremoveranotificaçãonnotificacao'+$nnotificacao],500);//->json(['error'=>$response['message']],500);}}
Project.php:methoddeleteNotification)
//EstemétodoremoveosdadosdaNotificaçãopublicfunctiondeletarNotificacao(HistoricoNotificacao$notificacao):Array{$notificacao=$this->delete();if($notificacao){return['success'=>true,'message'=>'Sucessoaoexcluiranotificação'];}else{return['success'=>false,'message'=>'Falhaaoexcluiranotificação'];}}
AjaxPage(project-notification.js)HomeYouareresponsibleforpassingtheprojectidandn_notificationvariablestotheremoveNotification
$(document).on('click','#btnExcluirNotificacao',function(){$('#idProjNotificacao').val($(this).data('id'));$('#numNotificacao').text($(this).data('nnotificacao'));});//Ajaxpararemoverumanotificação,eatualizarapáginaapósaação$('.removeNotificacao').click(function(){vardata_id=$('#idProjNotificacao').val();varn_notificacao=$('#numNotificacao').val();$.ajaxSetup({headers:{'X-CSRF-TOKEN':$('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
url: "/projetos/removeNotificacao",
type: "POST",
data: {id: data_id, nnotificacao: n_notificacao}
}).done(function (response) {
console.log(response);
if (response.success) {
/* $('.message').text("Sucesso ao excluir");
$('.message').show(); */
alert ('Sucesso ao excluir a notificação');
setTimeout(function(){
location.reload();
}, 4000);
}
else {
// alert(response.error);
alert("Erro ao excluir a notificação");
}
}).fail(function (response) {
// $('.message').text("Erro ao excluir");
alert("Falha ao excluir a notificação , nnotificacao = " + response.nnotificacao + " Id = "+response.id);
});
return false;
});
//Evento que preencherá o modal View de histórico de Notificações
$(document).on('click', '.btnViewNotificacao',function () {
$('#modalViewIdNotificacao').val(($(this).data('id')));
$('#modalViewNnotificacao').val(($(this).data('nnotificacao')));
$('#modalViewDtRecebimento').val(($(this).data('dtrecebimento')));
$('#modalViewDtResposta').val(($(this).data('dtresposta')));
$('#modalViewConteudo').val(($(this).data('conteudo')));
$('#modalViewOrigem').val(($(this).data('origem')));
$('#modalViewDtConclusao').val(($(this).data('dtconclusao')));
});
//Evento que preencherá o modal Edit de histórico de Notificações
$(document).on('click', '.btnEditNotificacao',function () {
$('#modalEditIdNotificacao').val(($(this).data('id')));
$('#modalEditNnotificacao').val(($(this).data('nnotificacao')));
$('#modalEditDtRecebimento').val(($(this).data('dtrecebimento')));
$('#modalEditDtResposta').val(($(this).data('dtresposta')));
$('#modalEditConteudo').val(($(this).data('conteudo')));
$('#modalEditOrigem').val(($(this).data('origem')));
$('#modalEditDtConclusao').val(($(this).data('dtconclusao')));
});
Modal Delete Notification
<!-- Modal de Excluir Notificação-->
<div class="modal fade modal-danger" id="modalExcluirNotificacao" aria-hidden="true" aria-labelledby="examplePositionCenter"
role="dialog" tabindex="-1">
<div class="modal-dialog modal-center">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title">Exclusão da Notificação</h4>
</div>
<div class="modal-body">
<input type="hidden" id="idProjNotificacao">
<p>Deseja excluir a notificação de número "<span id="numNotificacao"></span>"?</p>
</div>
<div class="modal-footer">
<a type="button" class="btn btn-danger removeNotificacao" data-dismiss="modal">Excluir</a>
<button type="button" class="btn btn-default btn-pure" data-dismiss="modal">Fechar</button>
</div>
</div>
</div>
</div>
<!-- Fim do Modal de Excluir Notificação -->
JavaScript libraries of the edita.blade.php page
@section('adminlte_js')
<script src="https://code.jquery.com/jquery-3.2.1.min.js"integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
<!-- <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> -->
<!--Inicio das interações em AJAX-->
<script src="{{asset('js/pages-js/projeto/projeto-validaData.js')}}"></script>
<script src="{{asset('js/pages-js/projeto/projeto-cadNovasLocalidades.js')}}"></script>
<script src="{{asset('js/pages-js/projeto/projeto-autorizaProjeto.js')}}"></script>
<script src="{{asset('js/pages-js/projeto/projeto-autorizaDocs.js')}}"></script>
<script src="{{asset('js/pages-js/projeto/projeto-localidades.js')}}"></script>
<script src="{{asset('js/pages-js/projeto/projeto-create.js')}}"></script>
<script src="{{asset('js/pages-js/projeto/projeto-notificacao.js')}}"></script>
<script src="{{asset('js/pages-js/projeto/projeto-errata.js')}}"></script>
<!--Fim das interações em AJAX-->
<script src="{{asset('js/app-js.js')}}"></script>
<!-- <script src="{{asset('js/datatables/jquery-1.12.4.js')}}"></script> -->
<!--Inicio da biblioteca DataTables-->
<!-- <script src="{{asset('js/datatables/dataTables.buttons.min.js')}}"></script>
<script src="{{asset('js/datatables/buttons.flash.min.js')}}"></script>
<script src="{{asset('js/datatables/jszip.min.js')}}"></script>
<script src="{{asset('js/datatables/pdfmake.min.js')}}"></script>
<script src="{{asset('js/datatables/vfs_fonts.js')}}"></script>
<script src="{{asset('js/datatables/buttons.html5.min.js')}}"></script>
<script src="{{asset('js/datatables/buttons.print.min.js')}}"></script>
<script src="{{asset('js/datatables/buttons.colVis.min.js')}}"></script> -->
<!--Fim da biblioteca DataTables -->
@yield('js')