Bonjour,
J'utilise un ajax pour discuter avec une api (ajout d’utilisateur dans une salle) et en cas de success, je fais afficher un message dans une div. Jusque la ca va sauf quand j'appel plusieures fois ma fonction ajax, 3 fois par exemple avec des retour différents, il affiche 3 fois le dernier message.
Les fonctions:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 function ajax_uti_f_room(action, id_user, id_room) { $.ajax({ url : '/ajax/uti_f_id_room_id.php', type : action, data : {'id_user': id_user, 'id_room': id_room}, dataType : "json", success : function(response) { alert(action + ': id_user (' + id_user + ') -> id_room(' + id_room + ')'); message('success', action + ': id_user (' + id_user + ') -> id_room(' + id_room + ')'); }, error : function(response) { message('error', JSON.stringify(response)); } }); } function message(type, message) { $('#message').text(message).attr('class', type).slideDown('slow').delay(1500).slideUp('slow'); }
Dans le success, le alert affiche bien ce qu'il faut tant dis que la fonction message affiche que le dernier appel 3 fois.
Par exemple, si j'appel 3 fois j'ai le déroulement suivant:
alors que je pensais que le déroulement serait celui-ci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 ajax_uti_f_room('POST', 30, 1111); ---> affiche alert avec 30 -> 1111 ajax_uti_f_room('POST', 30, 2222); ---> affiche alert avec 30 -> 2222 ajax_uti_f_room('POST', 30, 3333); ---> affiche alert avec 30 -> 3333 ---> affiche message avec 30 -> 3333 ---> affiche message avec 30 -> 3333 ---> affiche message avec 30 -> 3333
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 ajax_uti_f_room('POST', 30, 1111); ---> affiche alert avec 30 -> 1111 ---> affiche message avec 30 -> 1111 ajax_uti_f_room('POST', 30, 2222); ---> affiche alert avec 30 -> 2222 ---> affiche message avec 30 -> 2222 ajax_uti_f_room('POST', 30, 3333); ---> affiche alert avec 30 -> 3333 ---> affiche message avec 30 -> 3333
Je ne comprends pas, j’espère que mon explication est claire
Merci d'avance
Partager