2009-06-03 10 views
5

jQuery'den önceki karanlık karanlık günlerde yazılmış eski bir AJAX kodu üzerinde çalışıyorum. Garip bir şekilde, yıllardır, bugün aniden geri çekilmesini bıraktığı zamana kadar iyi çalışıyor. Istek hiçbir endişe ile gönderiliyorBir XMLHttpRequest'in Firefox'taki durumu asla değiştirmemesine neden olabilir?

var xml = new XMLHttpRequest(); // only needs to support Firefox 
xml.open("GET", myRequestURL, true); 
xml.onreadystatechange = function() { alert ('test'); }; 
xml.send(null); 

Kundakçı konsolunu kontrol etme ve istek URL'den doğru XML geldiğini ancak onreadystatechange fonksiyon hiç çalışmıyor: İşte temel kod. Sistemde bir javascript hatası veya garip bir şey yok.

JQuery'yi kullanarak her şeyi yeniden yazabilmeyi isterdim, ancak şu anda zamanım yok. Bu soruna neden olabilecek ne olabilir?


bir başka güncelleme - Ben farklı bir tarayıcıda (ffx 3.0) içinde kodumu test etmek mümkün oldum ve bu benim tarayıcı ile ilgili bir sorun olmalı bu yüzden, orada çalışıyordu. Vista’da Firefox 3.5b4’ü kullanıyorum ve hiç şanssız tüm eklentilerimle denedim. Hala gerçekten bugging çünkü dün bu sitede çalışıyordu (aynı tarayıcı kurulumu ile) ve hiçbir sorun yoktu ...

Aslında sadece benim Eklentiler penceresine bir göz attı ve Firebug olduğunu gördüm hala etkin. Firebug'ı devre dışı bırakırsam, mükemmel çalışır. Eğer onu etkinleştirirsem kırık. Firebug sürümü 1.40.a31

+0

Hangi Firefox sürümünü kullanıyorsunuz? Belki bir Firefox hatası mı? Firebug’da yaptığınız gibi aynı çöplüğü alamıyorum. –

+0

Düzenlememe bakın. Firefox 3.5beta4'te bir hata var, –

+0

gibi görünüyor, eğer bir BETA tarayıcısının bir hatası varsa şaşırmam. ;) –

cevap

4

url hatalı biçimlendirilmiş mi? Her şeyi bir try-catch koyarak ve (varsa) hataları bildirme denediniz mi

Bir yetkilendirme denetimi başarısız mı? söz konusu URL http-auth gerektirir mi?

düzenlemek (bu durumda durum değişiklikleri olması gerekiyor ama, itiraf edeceğiz):

Burada gerçekten komik bir düşünce var. Firefox 3.5 beta4 kullanıyor musunuz? Tarayıcı tabanlı bir oyun için bir firefox eklentisi geliştirdim ve kısa süre önce bazı garip davranışı keşfettim. Eklenti veya sayfamdan yapılan ajax isteklerini gözlemleyen firebug'la, onları yeniden yazma işlemi hiçbir zaman geri dönüşü geri almayacaktı. Talep, hem firebug hem de uzantım tarafından doğru bir şekilde gözlemlenecek ve işlenecektir (ne gönderilip alındığını gözlemleyebildim) ... ama sayfanın kendisi bir daha asla talepten bir şey duymayacaktı - bir kara deliğe kaymış gibi.

kundakçı kapatarak (ya da en azından o etki için 'Filenin dinlerken kapatmak) ve tekrar test deneyin

0

Onreadystatechange'ın çalışmayı durduracağı olası görünmemektedir. 'Uyarı' işlevinin bir şekilde devre dışı bırakılmış veya geçersiz kılınması mümkün mü? Sayfada görünür bir değişiklik yapmak için uyarıyı bir kodla değiştirebilir ve işlevini bu şekilde kontrol edebilir misiniz? (Biliyorum, onun bir streç, ama sadece bu onreadysechanechange işe yaramazsa çok garip görünüyor!)

+0

evet, onreadystatechange önce hatta uyarı ("foo") koyarak çalıştı ve iyi çalışıyor. – nickf

+0

eğer onreadystatechange çalışmıyorsa, web'in çökeceğini düşünüyorum. Yanıt gelmeden önce XmlHttpRequest nesnesi siliniyor veya iptal ediliyor olabilir mi? Repro kod için daha fazla var mı, yoksa her şeyi ne gösteriyor? Belki de firefox kurulumunuz bozuk mu? * grin * – Bruce

+0

talep edilen alan bulunamazsa, bir durum değişikliği olmaz, ama * * bir hata atılır * –

İlgili konular