Thứ Bảy, 7 tháng 2, 2009

Sử sụng Ajax request (errors) trong Jquery

Mô tả: Đăng ký một handler được gọi khi Ajax hoàn chỉnh với các yêu cầu lỗi.

Bất cứ khi nào một yêu cầu Ajax hoàn thành với một lỗi, jQuery kích hoạt các sự kiện ajaxError. Bất kỳ và tất cả các xử lý đã được đăng ký với ajaxError(). Phương pháp được thực hiện vào thời gian này.

Để thực hiện phương pháp này trong hành động, thiết lập một yêu cầu Ajax load.

Gắn kết xử lý sự kiện cho phần tử:

$("div.log").ajaxError(function() {
       $(this).text( "Triggered ajaxError handler." );
});

Bây giờ, một yêu cầu Ajax sử dụng jQuery method bất kỳ:

$("button.trigger").click(function() {
       $("div.result").load( "ajax/missing.html" );
});

Khi người dùng nhấp vào nút và yêu cầu Ajax không thành công, bởi vì các tập tin yêu cầu là còn thiếu, thông điệp đăng nhập được hiển thị.

Lưu ý: Vì ajaxError() được thực hiện như một method đối tượng cá thể jQuery.

Tất cả các bộ xử lý ajaxError được gọi, bất kể những gì Ajax yêu cầu được hoàn thành. Để phân biệt giữa các request, bạn có thể sử dụng các tham số truyền cho handler. Mỗi lần một handler ajaxError được thực thi, nó được thông qua các đối tượng sự kiện, đối tượng jqXHR (jQuery 1.5, các đối tượng XHR), và đối tượng thiết lập được sử dụng trong việc tạo ra các request. Nếu request không thành công vì JavaScript xãy ra lỗi, các đối tượng error được thông qua cho trình xử lý như một tham số thứ tư. Ví dụ, cho hạn chế việc gọi lại lỗi đến các sự kiện chỉ xử lý đối phó với một URL cụ thể:

$( "div.log" ).ajaxError(function(e, jqxhr, settings, exception) {
        if ( settings.url == "ajax/missing.html" ) {
                $(this).text( "Triggered ajaxError handler." );
        }
});

Ví dụ:
Hiển thị tin nhắn khi một yêu cầu Ajax không thành công.

$("#msg").ajaxError(function(event, request, settings){
          $(this).append("
  • Error requesting page " + settings.url + "
  • ");
    });

    dangtrung.

    Không có nhận xét nào:

    Đăng nhận xét