2014-04-29 19 views
8

Trong PhoneGap làm thế nào để hủy bỏ một yêu cầu ajax trong chương trình, tôi muốn thiết lập nút hủy để kiểm soát các yêu cầu khi nó quá chậmlàm cách nào tôi có thể hủy yêu cầu Ajax?

$.ajax({ 
    type: "GET", 
    url: url, 
    success: function(m) { 
     alert("success"); 
    } 
}); 
+2

là google xuống hoặc công cụ tìm kiếm của SO không hoạt động? – Satpal

+1

@Satpal Tôi không chắc tại sao câu hỏi như vậy được hỏi đã được upvoted rất nhiều ... –

+0

@ A.Wolff, Ngay cả tôi đang tự hỏi. – Satpal

Trả lời

6

hi nó tương tự như Abort Ajax requests using jQuery, dù sao này có thể giúp bạn

var ab = $.ajax({ type: "GET", url: url, success: function(m) { alert("success"); } }); 

//kill the request 
ab.abort() 
5

Store giao diện lời hứa trở về từ yêu cầu ajax trong một globalvariableabort nó trên hủy nhấp

var result = $.ajax({ type: "GET", url: url, success: function(m) { alert("success"); } }); 


$('#cancel').click(function() { 
    result.abort(); 
}); 
+0

bạn có thể vui lòng xây dựng? – Tuhin

+0

Bạn có thể lưu kết quả trong biến 'global' và' hủy bỏ yêu cầu trên một nút gọi –

+5

Bạn không lưu trữ kết quả, bạn đang lưu trữ lời hứa trả về đã trả về và nó hiển thị XMLHttpRequest gốc có phương thức hủy bỏ . – adeneo

2
var request= $.ajax({ type: "GET", url: url, success: function(m) { alert("success"); } }); 


$('#cancel').click(function() { 
    request.abort(); 
}); 

này sẽ hủy bỏ yêu cầu từ khách hàng (trình duyệt) bên nhưng lưu ý: nếu máy chủ đã nhận được req uest, nó có thể tiếp tục xử lý yêu cầu (tùy thuộc vào nền tảng của máy chủ) mặc dù trình duyệt không còn lắng nghe câu trả lời nữa. Không có cách nào đáng tin cậy để làm cho máy chủ web ngừng xử lý yêu cầu đang được tiến hành.

+0

Chờ đợi, điều này khác với câu trả lời đã được đăng như thế nào ??? EDIT: lời nói của bạn về máy chủ không xử lý nó là interresting nghĩ –

+0

Tôi chỉ giải thích. không có gì nhiều hơn thế. OP nên biết những gì thực sự sẽ xảy ra không chỉ làm thế nào nó có thể đạt được. – Tuhin

+0

Ya, đã chỉnh sửa bình luận trước của tôi, tôi hoàn toàn đồng ý ở đây! –

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