2015-11-07 15 views
6

Làm cách nào để xem lỗi thời gian chạy từ tập lệnh nhận AJAX của jQuery?gỡ lỗi tập lệnh jquery ajax với lỗi thời gian chạy

Tôi đang mã hóa ứng dụng (phần mềm miễn phí) (màn hình MELT, trên GNU/Linux/Debian/x86-64) nhúng máy chủ web cụ thể của nó. Xem this question để biết chi tiết. Tôi đang ở cam kết d624e22497de...

Tôi đang sử dụng Firefox 38 hoặc 42 trên Linux/Debian/Gnu/x86-64 bằng Firebug gần đây.

Tôi đang sử dụng một $.ajax với một kịch bản jQuery:

$.ajax 
({url: "/canvasedit", 
    method: "POST", 
    data: {"do_fillcanvas": true}, 
    dataType: "script", 
    success: ajaxcanvascript 
}); 

Các ajaxcanvascript được gọi một cách chính xác (và console.log có được hiển thị), vì vậy từ một điểm HTTP của xem, yêu cầu AJAX đã thành công (200 OK).

Tuy nhiên, khi có một lỗi runtime trong AJAX nhận kịch bản bởi do_fillcanvas, đó là một kịch bản tạo tương tự như một cái gì đó như:

 console.log('dofillcanvas canvedit.c:206 siz 1; this=', this, 
     ' momc_display_canvas=',momc_display_canvas); 
momc_display_canvas('09:26:39',[ 
    momc_top_entry(momc_item_ref('notice'), 
      momc_node(momc_item_ref('comment'), 
       [ 
       momc_string("some simple notice"), 
       momc_node(momc_item_ref('web_state'), 
         [ 
          momc_int(2)]), 
       momc_item_val('hashset'), momc_set([ 
        momc_item_ref('canvasedit'), 
        momc_item_ref('microedit'), momc_item_ref('the_agenda')]) 
       , 
       momc_tuple([ 
        momc_item_ref('web_session'), momc_nil_ref(), 
        momc_item_ref('the_system')]) 
       ]))]); 

console.log('dofillcanvas canvedit.c:239 this=', this); 
addupdatehtml('displayed <tt>Sat Nov 7 09:26:39 2015 MET</tt>'); 
console.log('dofillcanvas canvedit.c:252 done 09:26:39.11 this=', this); 

tôi đã không có thông báo lỗi trong giao diện điều khiển Firebug của tôi (hoặc không có gì dễ dàng nhìn thấy từ Firefox).

Loại lỗi thời gian chạy mà tôi đang gỡ lỗi là ví dụ: một số phương pháp chưa xác định được gọi là sâu từ momc_display_canvas (sử dụng jcanvas, mà tôi không quen thuộc lắm).

Vì vậy, cách dễ dàng xem lỗi thời gian chạy từ tập lệnh nhận AJAX của jQuery?

tôi thêm console.log ở khắp mọi nơi, nhưng đó không phải là thuận tiện ...

+0

Kiểm tra tab mạng của giao diện điều khiển để tìm thấy trạng thái của yêu cầu. –

+0

Trạng thái là 200 OK. –

+0

Cá nhân tôi sẽ bắt đầu nhận xét từng dòng một cho đến khi lỗi biến mất. – Taplar

Trả lời

1

Nếu tôi ngay sau đó bạn đang yêu cầu để xử lý lỗi khi gọi ajax đến ajax hoàn tất. Các jquery ajax có một chức năng gọi lại tham số cho lỗi, bạn có thể sử dụng gọi lại đó để xử lý lỗi của bạn.

$.ajax({ 
... 
error: function(error){ 
console.log(error); 
} 
... 
}) 

Nếu bạn muốn xử lý tổng số lỗi mà bạn có thể sử dụng thử khối catch gói xung quanh tổng call.Hope ajax này sẽ giúp bạn })

+0

Tôi nghĩ rằng trong '$ .ajax' lỗi' là dành cho các lỗi liên quan đến giao thức và tại đây yêu cầu HTTP cho AJAX thành công ... –

+0

@BasileStarynkevitch nó có giải quyết được vấn đề của bạn không? –

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