مرحبا,
لدي زر بعد الضغط عليه يرسل بيانات للكونترولر حتى يتم حفظها في قاعدة البيانات عن طريق ajax,
لكن المشكلة انه لو كان الموقع بطيئ و ضغطت أكثر من مرة على الزر يتم ارسال البيانات و حفظها اكثر من مرة و هذا مايسبب لي مشاكل,
كيف بامكاني المنع من ارسال request اكثر من مرة اي ينتظر حتى يتم الحفظ و اقوم باسترجاع الرد من ثم يقوم بارسال request آاخر؟
هذه صورة لما يحدث:
إذا كنت تستخدم مكتبة Jquery يمكنك إستخدام الطريقة التالية:
function saveData(){
$("#button").prop('disabled', true); // عند الضغط على الزر لأول مرة نقوم بتعطيل الزر
$.ajax({
type: "post",
url: "{{ url('route_name') }}",
dataType: "json",
data: $('#ajax').serialize(),
success: function(data){
$("#button").prop('disabled', false); // ثم نقوم بتفعيل الزر مجددا عند الحصول على الإجابة
},