Postingan lainnya
Ajax Livesearch Return 500 (internal server error)
Saya mau buat Ajax livesearch di Laravel mengikuti tutorial ini
https://www.youtube.com/watch?v=WnJaOFdCWrU&t=318s
Tapi ga keluar hasil search nya. Di inspect element di consolenya error "500 (Internal Server Error)"
Script html
<input type="text" name="search" id="search">
<div id="search_list"></div><br>
Script Ajax
$(document).ready(function(){
$('#search').on('keyup',function(){
var query = $(this).val();
$.ajax({
url:"search",
type:"GET",
data:{'search':query},
success:function(data){
$('#search_list').html(data);
}
});
});
});
Script Controller
function search(Request $request){
if ($request->ajax()) {
$data = barang::where('nama_brg','like','%'.$request->search.'%')
->orwhere('bahan','like','%'.$request->search.'%')
->orwhere('type','like','%'.$request->search.'%')
->orwhere('warna','like','%'.$request->search.'%')
->orwhere('harga','like','%'.$request->search.'%')->get();
$output='';
if (count($data)>0) {
$output = '
<table border="1">
<tr>
<td>Nama Barang</td>
<td>Type</td>
<td>Jenis</td>
<td>Warna</td>
<td>Harga</td>
</tr>';
foreach ($data as $k) {
?>
<tr>
<td><?php echo $k->nama_brg; ?></td>
<td><?php echo $k->bahan; ?></td>
<td><?php echo $k->type; ?></td>
<td><?php echo $k->warna; ?></td>
<td><?php echo $k->harga; ?></td>
</tr>
<?php
}
$output = '
</table>';
}else{
$output = 'No Result';
}
return $output;
}
}
Route
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Controller;
Route::get('/', [Controller::class, 'index']);
Route::get("search", [Controller::class, 'search']);
2 Jawaban:
<div>500 internal server di laravel itu terlalu umum.<br>Kamu coba akses endpoint atau halaman search langsung, agar terlihat error yang lebih jelas. Dari sana bisa ditelusuri kesalahannya di mana</div>
Tanggapan
maaf ga paham mas, maksudnya akses endpoint itu gimana ya? Kalau untuk search nya mah, itu jadi pas diketik, ga tampil apa2
<div>coba ganti bagian urlnya</div><pre>url: "{{ url('/search') }}"</pre>