J'ai un plugin jQuery dont j'ai besoin d'implémenter ajaxStop pour une partie de celui-ci. Ci-dessous un extrait de mon code pour montrer la structure (peut ne pas être 100%).jQuery ajaxStop dans ajax succès
J'ai montré comment mes fonctions sont configurées en tant que méthodes dans le cas où ajaxStop doit être implémenté comme une fonction globale, pas sûr comment je le ferais dans la configuration actuelle.
Le problème que je rencontre est parfois ajaxStop ne se déclenche pas même si ma réponse ajax revient avec succès. Puis-je appeler ajaxStop à partir d'un rappel ajax réussi?
- Quel élément dois-je appeler ajaxStop sur $(). AjaxStop OU $ (this) .ajaxStop
Merci beaucoup pour toute aide!
Aussi peut-être quelqu'un a eu des problèmes avec ajaxStop sur un Mac? Je ne trouve pas de solution pour expliquer pourquoi cela ne marche pas tout le temps.
Je pense que ajaxStop est pas très fiable :(
(function($) {
$.fn.doRentalButtons = function($params) {
var newMethods = {
startAction:function() {
var $button = $('a.button');
$button.click(function(){
var params = {one:'something',two:'morethings'}
$(this).doAjax(params);
});
},
doAjax:function(params) {
$current_button = $(this);
$container_div = $('#container');
$.ajax({
type: 'POST',
url: 'whatever.html',
data: params,
success: function(data) {
//dostuff
var jQueryObject =
if (global_var_hide == 0) {
$(this).afterPostRequests($current_button);
}
}()
});
},
afterPostRequests:function($current_button) {
$().ajaxStop(function(){
$(this).show();
$(this).positionDiv($current_button);
});
}
};
$.each(newMethods, function(i) {
$.fn[i] = this;
});
};
})(jQuery);