Gizli bir AJAX isteği nedir?
Bir kullanıcının işleminin hemen gerçekleşmesini sağlamak için tasarlanan gizli AJAX isteklerinin kullanımında bir artış olduğunu fark ettim. Bu tip AJAX isteğine bloke edici olmadığına bakacağım. Bu, kullanıcının farkında olduğunu bilmeden yapılan bir AJAX talebidir, arka planda gerçekleştirilir ve çalışması sessizdir ( AJAX çağrısının başarılı bir şekilde tamamlandığını gösteren hiçbir ayrıntı yoktur ). Amaç, işlemin gerçekten bitmediğinde derhal gerçekleştiğini göstermek.
İşte blokaj yapmayan AJAX isteğinin örnekleri;
- Kullanıcı bir e-posta koleksiyonundaki silme tıklaması. Öğeler gelen kutusundan hemen kaybolur ve diğer işlemlere devam edebilirler. Bu arada, bir AJAX talebi arka plandaki öğelerin silinmesini işlemektedir.
- Kullanıcı yeni kayıtlar için bir form doldurur. Tıklamalar kaydet. Yeni öğe hemen listede görünür. Kullanıcı yeni kayıtlar eklemeye devam edebilir.
Açıklığa kavuşturmak için, işte AJAX talebini engelleme örnekleri;
- Kullanıcı bir e-posta koleksiyonundaki silme tıklaması. Bir kum saati imleci belirir. AJAX talebi yapılır ve kum saati imlecine yanıt verdiğinde kapatılır. İşlemin tamamlanması için kullanıcının bir saniye beklemesi gerekir.
- Kullanıcı yeni kayıtlar için bir form doldurur. Tıklamalar kaydet. Bir AJAX yükleyici animasyonu ile form griye döner. "Verileriniz kaydedildi" mesajı görüntülenir ve listede yeni kayıt görünür.
Yukarıdaki iki senaryo arasındaki fark, bloke edici olmayan bir AJAX kurulumunun, bir işletme performansının geri bildirimini sağlamadığı ve bloke edici bir AJAX kurulumunun sağladığıdır.
Gizli AJAX İsteklerinin Riski
Bu AJAX talebi stilinin en büyük riski, AJAX isteği başarısız olduğunda web uygulamasının tamamen farklı bir durumda olabileceğidir.
Örneğin, engelleyici olmayan bir örnek;
- Kullanıcı bir sürü e-posta seçer. Sil düğmesine tıklar. İşlem hemen gerçekleşiyor gibi görünüyor (öğeler listeden kayboluyor). Kullanıcı daha sonra oluştur düğmesine tıklar ve yeni bir e-posta yazmaya başlar. Şu anda, JavaScript kodu, AJAX isteğinin başarısız olduğunu keşfetti. Komut dosyası bir hata mesajı gösterebilir, ancak şu anda gerçekten anlamsız.
Alternatif olarak, engelleyici bir örnek;
- Kullanıcı bir sürü e-posta seçer. Sil düğmesine tıklar. Bir saat camı görür, ancak işlem başarısız olur. "Hata. Falan filan" diyerek hata mesajı alıyorlar. E-posta listesine geri döndürülüyorlar ve hala silmek istedikleri e-postalara sahipler. Onları tekrar silmeye çalışabilirlerdi.
Engellenmeyen AJAX taleplerini yerine getirmenin başka teknik riskleri de vardır. Kullanıcı tarayıcıyı kapatabilir, başka bir web sitesine gidebilir ve mevcut web'deki herhangi bir hatanın içeriğini anlamsız hale getiren başka bir konuma gidebilir.
Peki neden bu kadar popüler oluyor?
Facebook, Google, Microsoft, vb .. vs .. Bütün bu büyük etki giderek işlemlerini yapmak için engellenmeyen AJAX istekleri kullanan görünür anında yapılmaktadır söyledi. Ayrıca form düzenleme editörlerinde kaydetme veya gönderme düğmesi olmayan bir artış gördüm . Bir alandan çıkar çıkmaz ya da enter tuşuna basın. Değer kaydedildi. Profilinizde hiçbir güncelleme mesajı yok veya kaydetme adımı yok.
AJAX talepleri kesin değildir ve tamamlanıncaya kadar başarılı olarak değerlendirilmemelidir, ancak birçok büyük web uygulaması aynı şekilde çalışmaktadır.
Hızlı görünme pahasına gereksiz bir risk alarak duyarlı uygulamaları simüle etmek için engelleyici olmayan AJAX aramalarını kullanan bu web siteleri var mı?
Rekabetçi kalabilmek için hepimizin takip etmesi gereken bir tasarım deseni mı bu?