Tôi đang làm việc trên một số mã AJAX cũ, được viết trong những ngày đen tối trước jQuery. Kỳ lạ thay, nó đã hoạt động tốt trong nhiều năm, cho đến ngày hôm nay khi nó đột nhiên ngừng bắn gọi lại. Dưới đây là các mã cơ bản:Điều gì có thể khiến XMLHttpRequest không bao giờ thay đổi trạng thái trong Firefox?
var xml = new XMLHttpRequest(); // only needs to support Firefox
xml.open("GET", myRequestURL, true);
xml.onreadystatechange = function() { alert ('test'); };
xml.send(null);
Kiểm tra Firebug console, các yêu cầu đã được gửi đi với không phải lo lắng, và nó được nhận XML đúng từ URL yêu cầu, nhưng onreadystatechange
chức năng không hoạt động gì cả. Không có lỗi javascript hoặc bất cứ điều gì khác lạ xảy ra trong hệ thống.
Tôi ước tôi có thể viết lại mọi thứ bằng jQuery, nhưng tôi không có thời gian ngay bây giờ. Điều gì có thể gây ra vấn đề này?
Cập nhật thêm - Tôi có thể kiểm tra mã của mình trong trình duyệt khác (FFx 3.0) và đang hoạt động ở đó, vì vậy nó phải là vấn đề với trình duyệt của tôi. Tôi đang chạy Firefox 3.5b4 trên Vista, và tôi đã thử nó ngay bây giờ với tất cả các addons của tôi bị vô hiệu hóa mà không có may mắn. Nó vẫn thực sự bugging tôi bởi vì tôi đã làm việc trên trang web này ngày hôm qua (với cùng một thiết lập trình duyệt) và không có vấn đề gì cả ...
Thực ra tôi vừa nhìn lại cửa sổ Addons và thấy rằng Firebug là vẫn được bật. Nếu tôi vô hiệu hóa Firebug, nó hoạt động hoàn hảo. Nếu tôi bật nó, nó bị hỏng. Firebug phiên bản 1.40.a31
Bạn đang sử dụng phiên bản Firefox nào? Có thể đó là lỗi của Firefox? Tôi không nhận được cùng một bãi như bạn làm trong Firebug. –
xem chỉnh sửa của tôi. đó là một lỗi trong firefox 3.5beta4 có vẻ như –
Tôi sẽ không ngạc nhiên nếu trình duyệt BETA có lỗi. ;) –