From 2b37be5f51c89b171c0b15eca0aa7e80cffb5115 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 14 Jan 2026 12:05:11 +0000 Subject: [PATCH] fix bug freeze js --- resources/views/user/pesan-buket.blade.php | 46 ++++++++++++++++++---- 1 file changed, 38 insertions(+), 8 deletions(-) diff --git a/resources/views/user/pesan-buket.blade.php b/resources/views/user/pesan-buket.blade.php index 39a2e39..6598871 100644 --- a/resources/views/user/pesan-buket.blade.php +++ b/resources/views/user/pesan-buket.blade.php @@ -117,22 +117,52 @@ class="bi bi-chevron-right"> // Fungsi Ambil Data (AJAX) function fetchBuket(url = "{{ route('pesan.buket') }}") { + let urlObj = new URL(url, window.location.origin); + let path = urlObj.pathname; + + let params = { + keyword: $('#input-search').val(), + kategori: selectedCat, + ukuran: selectedSize, + min_price: $('#input-min').val(), + max_price: $('#input-max').val() + }; + + Object.keys(params).forEach(key => { + if (!params[key]) delete params[key]; + }); + + let searchParams = new URLSearchParams(urlObj.search); + let pageParam = searchParams.get('page'); + if (pageParam) { + params.page = pageParam; + } + + let newUrl = path + '?' + new URLSearchParams(params).toString(); + + if (window.location.protocol === 'https:') { + newUrl = 'https://' + window.location.host + newUrl; + } + + console.log('Fetching URL:', newUrl); + $.ajax({ - url: url, + url: newUrl, type: "GET", - data: { - keyword: $('#input-search').val(), - kategori: selectedCat, - ukuran: selectedSize, - min_price: $('#input-min').val(), - max_price: $('#input-max').val() - }, beforeSend: function() { $('#product-container').css('opacity', '0.5'); }, success: function(data) { $('#product-container').html(data); $('#product-container').css('opacity', '1'); + }, + error: function(xhr, status, error) { + console.error('AJAX Error:', status, error); + $('#product-container').css('opacity', '1'); + + if (xhr.status === 0 || error === 'error') { + window.location.reload(); + } } }); }