Arrêter mon processus Ajax
J'ai dans mon appli un processus ajax, qui tourne en boucle et doit d'arreter quand l'utilisateur clique sur un lien, voici le script ajax :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| <script type="text/javascript">
function displayCredit(price, mode, selection){
$.ajax({
type: "POST",
url: decodeURI("<?= $this->basepath(); ?>/distribution/displaycredit"),
data: {
price : price,
mode : mode,
selection: selection
},
error: function(){
return false;
},
success: function(retour){
if(retour.selection != null){
if(retour.statut == 'ok' && retour.price != null && retour.mode != null){ /* Command ok */
getUrl('<?= $this->url('distribution/processing',array('selection'=>$selection,'receipt'=>$receipt)); ?>');
}
}
var old_value = $('#amout_credit_hidden').val();
if(old_value != retour.credit){
$("#amout_credit").html(retour.credit);
$("#amout_credit_hidden").val(retour.credit);
$("#amout_credit_hidden").trigger('change');
}
setTimeout("displayCredit('"+retour.price+"','"+retour.mode+"','"+retour.selection+"')",<?= $timer; ?>);
return true;
}
});
}
</script> |
Mon script est appelé sur ma page de cette façon :
Code:
1 2 3 4 5 6 7
| <script type="text/javascript">
$(document).ready(function() {
var display = displayCredit(null,null,null);
// stopEvent();
});
</script> |
J'ai essayé plein de trucs mais je n'arrive pas à arrêter ce fichu timeout au clic !
J'ai essayé avant mon return true :
Code:
1 2 3 4 5 6 7 8
|
$('.link').click(function() {
clearTimeout(disCredit);
return false;
});
var disCredit = setTimeout("displayCredit('"+retour.price+"','"+retour.mode+"','"+retour.selection+"')",<?= $timer; ?>);
return true; |
Mais rien n'y fait ... il continue de tourner !!!
Please help !