2010-07-23 45 views
6

bir GET isteği aşağıdaki gibi yapılırsa Ayrılmadan önce GET isteğini gerçekleştirme - Javascript

$(window).bind('beforeunload', function() { 
    // GET request 
}); 

ve GET isteği tamamlanmadan önce sayfa terk edildi,

hedef sunucu hala isteğini işleyecek mi? Yoksa bir şekilde kaybolur mu?


"beforeunload" ateşleme ile ilgili bir sunucu verisi göndermek istiyorum, ancak kullanıcıdan yararsız ms çalmaksızın.

Birisi bana yardım ederse çok yararlı olur.

cevap

1

Eşzamansız bir istekse, sunucu işleyebilir (isteği alırsa) ancak sayfanın yüklenmesinden önce veya işlenecekse isteğin geçerliliğini garanti edip edemeyeceğini bilmiyorum. - Bu, gerçek web sunucusuna bağlı olabilir (başka biri daha fazla bilgiye sahip olabilir). Senkronize bir istek yaparsanız, sayfa, istek geçene kadar bekleyecektir ve bir yanıtı geri alacaktır (bu durumda, işleme garanti edilir). Ancak, bu, isteğiniz tamamlanana kadar tarayıcınızın kilitleneceği anlamına gelir, bu da istenmeyebilir.

+0

Katılıyorum, bu isteğin yerine getirilmesi gereken her şey için yapmam. –

+0

@Joe evet, genel olarak bu çok güvenilir değil. –

+0

@Joe @Vivin Yanıtlar için teşekkürler! =)% 90'dan fazla başarı oranına ulaşmanın bir yolu olmalı? – RadiantHex

1

Çoğu durumda evet, ancak web uygulama sunucusuna göre değişir. Bazıları bağlantıyı kesebilir ve istek ile durdurabilir.

+1

Cevabınız için teşekkürler! =) Python kullanıyorum ve çeşitli ağ kütüphanelerine bakıyorum. – RadiantHex

İlgili konular