Nasıl jQuery kullanarak yönlendirmeleri takip etmek için ajax isteklerini engellemek için
Kullandığım jQuery ajax fonksiyonları erişim için bir web hizmeti, ancak sunucu, yerine geri dönen bir tepki ile durumu kodu açıklayan bir sorun, istek için yeniden yönlendirilmiş bir sayfa ile 200 başlık, tarif sorunu. İstemci bir şekilde çözmek istiyorum. bu herhangi bir değişiklik yapamam.
Örnek: Bir isteği bulunmayan bazı URL için de geçerli, 302 başka bir yere Yönlendirmek alıyorum. Yeni bir istek gönderilir ve bir 200 OK, bu nedenle hata yangın önleme için geri alıyorum.
Ajax isteği yönlendirmeleri takip edin ve yerine geri çağırmak önlemek için yapabileceğim bir şey var mı, tercihen hata yöntemi. Alternatif olarak, eğer bir yönlendirme istemci olmamış algılamak mümkün mü?
CEVAP
Soru ilginç buluyorum, ama bütün sorun bana daha çok bir yanlış anlama gibi görünüyor. En azından sorunun benim anladığım açıklamaya çalışacağım.
(Şeffaf) sessiz yönlendirme XMLHttpRequest
şartname (here özellikle kelimeleri görmek "... şeffaf bir şekilde yeniden izleyin ..."). Standart tek kullanıcı Aracısı (web tarayıcı) sözengelle veya bildirotomatik yönlendirmeler, bazı tür, ama XMLHttpRequest
bir parçası değil. HTTP istemcisi yapılandırması (OS yapılandırma) veya web tarayıcı yapılandırmasının bir parçası. jQuery.ajax
yönlendirme önlemek olabilir, herhangi bir seçeneği yok.
HTTP yeniden yönlendirme HTTP protokolünün bir parçası ve XMLHttpRequest
bir parçası olduğunu görebilirsiniz. Soyutlama başka bir düzeyde, ya da ağ yığını. Örneğin XMLHttpRequest
verileri yerel tarayıcı önbelleğinden HTTP proxy veya alınabilir, ve HTTP protokolünün bir parçası. Çoğunluklasunucuveri sağlayan ve istemci önbelleğe alma üzerinde etkisi olabilir.
Web sunucusu veya iletişim sırasında IP güzergah değişimi değişen IP adresini engellemek şartı ile sorunuzu ihtiyacı karşılaştırabilirsiniz. Her şeyi bazı senaryolarda ilginç olabilir, ama parçaları vardıriletişimin başka bir seviye oluşturuyorve jQuery.ajax
XMLHttpRequest
tarafından yönetilen olamaz.
XMLHttpRequest
standart istemci yapılandırma yönlendirme engelleyen seçenekleri var. "Ben daha iyi biliyorum,, WinHttpSetOption fonksiyon bakabilirsiniz WINHTTP_DISABLE_REDIRECTS
değeri ile. WINHTTP_OPTION_DISABLE_FEATURE
seçeneği ayarlamak için kullanılan "Microsoft dünyanın durumda Başka bir yolu WINHTTP_OPTION_REDIRECT_POLICY_NEVER
değer WINHTTP_OPTION_REDIRECT_POLICY
seçeneği kullanımı. Bir Windows kullanımına sunulan bir özellik fonksiyonu WINHTTP_CALLBACK_FLAG_REDIRECT
gibi bazı bildirimleri alınan geri ayarlanabilen WinHttpSetStatusCallback işlevidir.
Bu yüzden yapmak mümkün için uygulamak gereksinimleri genel, ama çözüm olacak muhtemelen bağımsız gelen işletim sistemi ya da web tarayıcısı ve seviyesi jQuery.ajax
XMLHttpRequest
.
Nasıl Internet Explorer önbelleğe alın...
Nasıl iptal jQuery/AJAX isteği iptal e...
Nasıl sayfa jQuery kullanarak kaydırma...
Nasıl bir tarayıcı Chrome jQuery kulla...
Nasıl jQuery Ajax çağrısından sonra bi...