Web İki Defa Post Etme Sorunu
-
MhmdAlmz bunu yazdıFCN bunu yazdıMhmdAlmz bunu yazdı
Hiç girişmeyeyim bu işe en iyisi hepsi front-end çözüm amelelik işi uğraşamam :D
Teşekkürler cevaplar için..
$(document).ajaxStart($.blockUI).ajaxStop($.unblockUI);
tek satır kodda çözüceksin işlemi bir ameleliği yok şu kod sayfada herhangi bir ajax işlemi olduğunda çalışır işlem bitince biter. sen burda ister element blokla ister sayfaHocam çok fazla button var yada ben bunun mantığını anlamadım ?
bunu butonun arkasına yazmana gerek yok. sayfaya 1 kere yazıyorsun o hepsini kendi kontrol ediyor. başka sayfalarda da varsa masterpage ine koy kendi halletsin.
ben kendi projemde
var ajaxBlock = function () { $.blockUI({ message: '<h1><img src="/img/Spinner.gif" /> Just a moment...</h1>' }) }
var unajaxBlock = function () { $.unblockUI({ message: 'wait...' }) }
$(document).ajaxStart(ajaxBlock);
$(document).ajaxStop(unajaxBlock);şöyle bir şey hazırladım işimi görüyor.
-
MhmdAlmz bunu yazdı
Hiç girişmeyeyim bu işe en iyisi hepsi front-end çözüm amelelik işi uğraşamam :D
Teşekkürler cevaplar için..
Amelelik işi olan şey nedir? Eğer jquery kullanırsan request gönderdiğinde anda response gelene kadar bir daha herhangi bir buttonun click durumunda trigger etmesini istemiyorsan hepsini disabled yapacaksın. Hepsini disabled veya hidden yapman demek tüm buttonlara bir id verip o idye göre select edeceğin anlamına gelmiyor. $(".button").hide();, $(".button").css('display','none'); or $(".button").addClass("disabled"); not selectoru ilede buttonlarda disabled classı varsa form submit veya ajax işlemi yapmasını engellersin. Bunu yapman minimum 2 satır kod eklemen maximumda 4 satır eklemen demek.
-
FCN bunu yazdıMhmdAlmz bunu yazdıFCN bunu yazdıMhmdAlmz bunu yazdı
Hiç girişmeyeyim bu işe en iyisi hepsi front-end çözüm amelelik işi uğraşamam :D
Teşekkürler cevaplar için..
$(document).ajaxStart($.blockUI).ajaxStop($.unblockUI);
tek satır kodda çözüceksin işlemi bir ameleliği yok şu kod sayfada herhangi bir ajax işlemi olduğunda çalışır işlem bitince biter. sen burda ister element blokla ister sayfaHocam çok fazla button var yada ben bunun mantığını anlamadım ?
bunu butonun arkasına yazmana gerek yok. sayfaya 1 kere yazıyorsun o hepsini kendi kontrol ediyor. başka sayfalarda da varsa masterpage ine koy kendi halletsin.
ben kendi projemde
var ajaxBlock = function () { $.blockUI({ message: '
Just a moment...
' }) }
var unajaxBlock = function () { $.unblockUI({ message: 'wait...' }) }
$(document).ajaxStart(ajaxBlock);
$(document).ajaxStop(unajaxBlock);şöyle bir şey hazırladım işimi görüyor.
Anladım şimdi hocam eyw. Tüm ajaxları tetikliyor sayfadaki o halde. ben yanlış anlamışım . Tamamdır bunu ekleyeyim o halde.
-
@Zfr321 , tamam hocam sakin ol yanlış anlamışım :D
MhmdAlmz tarafından 20/Ara/18 21:02 tarihinde düzenlenmiştir -
fazla..
MhmdAlmz tarafından 20/Ara/18 21:01 tarihinde düzenlenmiştir -
button neslerini birkaç satırla dinleyebilirsin. Daha sonra click olayında sayfanın tamamını kaplayacak bir loadin koyarsın, katmanların üstüne geçecek şeffaf bir şey. Daha sonra ajax bitince loadingi kaldırırsın.
-
FCN'nin yazdığı tüm sistemde işini görür. Ancak sistemde 10 bin button varsa (sayıyı abartmış olsan bile çok fazla var) zaten senin UI tarafında JS'lerini gözden geçirmen gerekiyor. Ajax request'lerini, click bind'lerini vs derleyip toparlaman ve merkezliştirmen gerekiyor. Yarın bir gün o clickler bir karışır bulana kadar göbeğin çatlar. Backend'de yaptığımız refactor, pattern gibi şeyleri UI'dada yapmamız lazım. Ayrıca PRG pattern'ada bakabilirsin.
-
session based lock file da bir alternatif
-
Cevaplar için teşekkürler sistemde gerçekten 10.000 e yakın button var :)
-