2012-03-02 31 views
5

tôi sử dụng mã này để có được một số thông tin từ twitter qua api của họ:Kiểm tra cho 404 tình trạng lỗi trong jquery

 $.ajax({ 
      url : apiUrl, 
      cache : false, 
      crossDomain: true, 
      dataType: "jsonp", 
      success : function(html) { 
       // ... 
      }, 
      error: function(jqXHR, textStatus, errorThrown) { 
       console.log(jqXHR); 
      } 
     }); 

Tuy nhiên, nếu apiUrl biến cung cấp một url đúng, mã này làm việc tốt, e.i. đối tượng thành công được thực hiện, nhưng nếu url không chính xác, e.i. Lỗi 404 được trả về từ twitter, đối tượng lỗi không bao giờ được thực hiện. Nó không đăng nhập bất cứ điều gì trong giao diện điều khiển. Tôi nên kiểm tra trạng thái lỗi 404 trong trường hợp này như thế nào?

+0

Điều này có thể giải quyết vấn đề: http://stackoverflow.com/questions/4281274/jquery-ajax-404-handling – Smamatti

+1

đưa ra một ví dụ về một sai url – JamesHalsall

+0

http: // stackoverflow. com/a/4803044/137972 có thể có liên quan. – Christoffer

Trả lời

3

Từ jQuery tài liệu API ajax:

error option

Lưu ý: xử lý này không được gọi cho kịch bản cross-domain và JSONP yêu cầu.

http://api.jquery.com/jQuery.ajax/

+0

Xin lỗi, lỗi của tôi không đọc được ... Cảm ơn –

2

Theo tài liệu, hãy sử dụng cài đặt statusCode trong .ajax.

$.ajax({ 
    ... 
    statusCode: { 
    404: function(){ 
    } 
    } 
}); 
+0

nop, điều này cũng không được thực thi. Tôi sợ câu trả lời đầu tiên cho chủ đề này là chính xác ... http://forum.jquery.com/topic/jquery-ajax-with-datatype-jsonp-will-not-use-error-callback-if-request -fails –

Các vấn đề liên quan