0
我有以下的jQuery代码:如何在切换时避免重复的AJAX?
$('.button').click(function(e) {
e.preventDefault();
var id = $(this).attr('id');
var panel = $('#picpanel' + id);
var panelhtml = '<ol id="piclist' + id + '" class="piclist"></ol>';
panel.html(panelhtml);
panel.slideToggle(200);
$(this).toggleClass('active');
$.ajax({
type: 'GET',
url: 'index.php',
data: 'id=' + id + '&submit=getpicture',
cache: false,
success: function(html) {
$('#piclist' + id).append(html);
}
});
});
基本上,图片从数据库在点击一个按钮读取。在点击按钮之前,显示所有图片的面板也被隐藏。当我点击按钮时,显示面板,图片被读取并显示;没有问题。
问题是,当我再次单击按钮时,我想隐藏面板。它可以隐藏,但似乎AJAX再次运行,这当然是不需要的。如何避免这种情况?
请参阅http://stackoverflow.com/questions/4342438/cancelling-previous-ajax-request-jquery,http://stackoverflow.com/questions/446594/kill-ajax-requests-using-javascript-using- jQuery的 – simshaun