Quiero mostrar 'No se encontraron resultados' en la búsqueda de Laravel Ajax. En mi caso si no hay registro me muestra una pantalla en blanco. Así que quiero cambiarlo a "No se encontraron resultados". ¿Alguien me puede ayudar?
Vista
<div class="row" style="text-align: center;padding-top: 25px;"> <div class="col-md-8" > <h2 id="dynamic-row"></h2> </div> </div> <script> $('body').on('click' ,'#search' , function(){ var from = $('#from').val(); var to = $('#to').val(); $.ajax({ method: 'POST', url: '{{ route("fare.search") }}', dataType: 'json', data: { '_token' : '{{ csrf_token() }}', from : from, to: to, }, success: function(res){ var tableRow = ''; $('#dynamic-row').html(''); $.each(res , function(index,value){ tableRow = '<h2>RS '+value.fare+'/-</h2>'; $('#dynamic-row').append(tableRow); //$('#dynamic-row').css('font-weight', 'bold'); }) } }) }) </script>Simplemente devuelva el 404 en "No se encontró ningún resultado" en el controlador.
return response()->json('No Result Found', 404);Y agregue la función de error en la llamada ajax:
$('body').on('click' ,'#search' , function(){ var from = $('#from').val(); var to = $('#to').val(); $.ajax({ method: 'POST', url: '{{ route("fare.search") }}', dataType: 'json', data: { '_token' : '{{ csrf_token() }}', from : from, to: to, }, success: function(res){ var tableRow = ''; $('#dynamic-row').html(''); $.each(res , function(index,value){ tableRow = '<h2>RS '+value.fare+'/-</h2>'; $('#dynamic-row').append(tableRow); //$('#dynamic-row').css('font-weight', 'bold'); }) }, error: function(res){ console.log(res); } }) })