mã JavaScript tôi bắt đầu với:
function doSomething(url) {
$.ajax({
type: "GET",
url: url,
dataType: "xml",
success: rssToTarget
});
}
Pattern Tôi muốn sử dụng:
//where elem is the target that should receive new items via DOM (appendChild)
function doSomething(url, elem) {
$.ajax({
type: "GET",
url: url,
dataType: "xml",
success: rssToTarget(elem)
});
}
Tôi không nghĩ rằng tôi có thể nhận được gọi lại để làm việc theo cách này, phải không? Mô hình thích hợp là gì? Tôi không muốn sử dụng biến toàn cầu nhất thiết để tạm thời giữ tên elem
hoặc elem.
http://stackoverflow.com/questions/2602981/jquery-how-to-pass-additional-parameters-to-success-callback-for-ajax-call use invokedata –
Để tham khảo sau này: Bạn cần lưu trữ Hàm gọi lại ('rssToTarget') trong thuộc tính' success' của đối tượng theo nghĩa đen bạn đang chuyển sang '$ .ajax()', vì vậy jQuery có thể gọi hàm đó khi yêu cầu AJAX hoàn tất. Bằng cách thêm '(elem)' vào cuối tên hàm, bạn đang nhầm lẫn gọi 'rssToTarget' và lưu trữ giá trị trả về của nó trong' success'. Trong JS, việc thêm dấu ngoặc đơn ở cuối tên hàm sẽ gọi nó. – BrunoFacca