0
我为此奋斗了几个星期,我尝试了很多方法。AJAX继续加载 - 我该如何绑定或防止这种情况?
这是一个ajax搜索功能。如果我开始搜索,它会继续加载几次。我搜索得越多,载入的次数就越多。
这是我的搜索功能:
$("#q").on('submit', function (e) {
e.preventDefault(); // avoid to execute the actual submit of the form.
$("#q").off('submit');
console.log('#################');
console.log('search Initiated');
console.log('#################');
var frm = $('#q');
var url = frm.attr('action');
if (reloaddiv === undefined) {
var reloaddiv = "reload";
}
if (reloadurl === undefined) {
var reloadurl = frm.attr('action');
}
$.ajax({
type: frm.attr('method'),
url: frm.attr('action'),
data: frm.serialize(),
beforeSend: function() {
console.log('Search: Preparing');
prepareBeforeAjax(reloaddiv, reloadurl);
},
success: function (data) {
$('.records').html(data);
console.log('Search: Success');
},
complete: function() {
console.log('Search: Complete');
hideModalIfVisible();
},
always: function() {
$("#q").on('submit', e);
}
})
});
这是我的控制台日志
#################
subscriptions:1037 search Initiated
subscriptions:1038 #################
subscriptions:1055 Search: Preparing
subscriptions:941 prepareBeforeAjax
subscriptions:1036 #################
subscriptions:1037 search Initiated
subscriptions:1038 #################
subscriptions:1055 Search: Preparing
subscriptions:941 prepareBeforeAjax
subscriptions:1036 #################
subscriptions:1037 search Initiated
subscriptions:1038 #################
subscriptions:1055 Search: Preparing
subscriptions:941 prepareBeforeAjax
subscriptions:1036 #################
subscriptions:1037 search Initiated
subscriptions:1038 #################
subscriptions:1055 Search: Preparing
subscriptions:941 prepareBeforeAjax
subscriptions:1060 Search: Success
subscriptions:975 ------------
subscriptions:976 initReady Initiated
subscriptions:977 ------------
subscriptions:1063 Search: Complete
subscriptions:1060 Search: Success
subscriptions:975 ------------
subscriptions:976 initReady Initiated
subscriptions:977 ------------
subscriptions:1063 Search: Complete
subscriptions:1060 Search: Success
subscriptions:975 ------------
subscriptions:976 initReady Initiated
subscriptions:977 ------------
subscriptions:1063 Search: Complete
subscriptions:1060 Search: Success
subscriptions:975 ------------
subscriptions:976 initReady Initiated
subscriptions:977 ------------
subscriptions:1063 Search: Complete
initReady
- 这基本上只是一个JavaScript函数我每次AJAX后调用后 - 我这样做是因为当使用模态时,我不必全部加载。
我的意思是,对我来说,看起来更像是一个事件绑定,但即使是这样,它是无效的,因为'e'不一个函数。它肯定不会再触发事件。 –
你是对的!非常感谢 –