|
Publicité | ||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : avril 2004 Messages : 61 ![]() |
Yop,
je suis en train de faire une petite api pour gérer un stock là où je travaille, et j'ai un petit soucis lors de l'appel à la BDD. En fait tout fonctionne bien. Pour vous expliquer voici le code: Code :
Le problème là dedans c'est que ça fait bugger le navigateur, et là en particulier il me demande à chaque fois si je veux arrêter le script gourmand. Donc voilà, j'aurais aimé savoir si vous connaissiez une parade à ça Merci d'avance A+ saipas |
||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() ![]() Emmanuel REMY Inscription : novembre 2005 Messages : 2 826 ![]() |
Salut,
Ton code est correct, et ta requête AJAX est asynchrone, d'où la continuité d'exécution, et la fonction de rappel onreadystatechange. Ton souci c'est que ta variable ii est locale à ta fonction . Plutôt ce code::Code :
ERE
__________________
Quand une tête pense seule, elle devient folle. |
||
|
|
00
|
|
|
#3 | ||
|
Invité régulier
![]() Inscription : avril 2004 Messages : 61 ![]() |
Salut Emmanuel,
merci pour ta réponse. Je crois que ton astuce ne convient pas tout à fait au reste de mon code. En gros la fonction ajax (renommée fetchSQL depuis :p) se trouve dans un .js, et est appelée directement par la page (comme tu t'en doutes) avec un truc du genre : Code :
Encore merci pour ton aide |
||
|
|
00
|
|
|
#4 | ||||
|
Expert Confirmé
![]() ![]() Emmanuel REMY Inscription : novembre 2005 Messages : 2 826 ![]() |
Re,
Ce n'est pas une "astuce" mais la démarche normale dans le cadre d'un appel asynchrone: tu ne peux pas accéder de suite aux données car ton script ne bloque pas le navigateur le temps de l'appel AJAX. D'où la fonction de rappel Si tu souhaites faire ce que tu inscris, alors le code ressemblera - de base - à cela: Code :
Code :
ERE
__________________
Quand une tête pense seule, elle devient folle. |
||||
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : avril 2004 Messages : 61 ![]() |
Wow, je t'avouerais que je ne comprends pas tout (voire rien) à ce que tu as fait, mais en tous cas ça marche nickel
Merci pour l'aide!! |
|
|
00
|
|
|
#6 | ||
|
Invité régulier
![]() Inscription : avril 2004 Messages : 61 ![]() |
Lol, je reviens à l'attaque...
En fait j'utilise pas mal la fonction fetchSQL dans l'api (à chaque fois que je fais une requête vers la base) et j'aurais bien aimé avoir un appel à la fonction du style funct(param). C'est possible? J'ai essayé de reconstruire un autre tableau à partir de l'autre mais ça fonctionne pas.. je suppose que c'est dû au fait que je ne comprends pas ce que fait ta fonction Code :
|
||
|
|
00
|
|
|
#7 | ||||
|
Expert Confirmé
![]() ![]() Emmanuel REMY Inscription : novembre 2005 Messages : 2 826 ![]() |
Non, c'est toujours le même souci, le fait que la requête AJAX est asynchrone. Tu ne peux donc pas faire:
Code :
![]() Et cela ne t'apporte pas grand chose... plutôt faire: Code :
ERE
__________________
Quand une tête pense seule, elle devient folle. |
||||
|
|
00
|
|
|
#8 |
|
Invité régulier
![]() Inscription : avril 2004 Messages : 61 ![]() |
Ok merci pour la réponse.
Je fais ça parce qu'à côté j'ai un appel à la fonction fillin depuis un bouton. Là en l'occurence c'est une page test donc effectivement c'est pas folichon mais sur mes autres pages ça va chercher des valeurs de textbox puis fait une recherche dans la base. Voili voilou, merci encore |
|
|
00
|
|
|
#9 | |
|
Expert Confirmé
![]() ![]() Emmanuel REMY Inscription : novembre 2005 Messages : 2 826 ![]() |
Citation:
Bon dev, ERE
__________________
Quand une tête pense seule, elle devient folle. |
|
|
|
00
|
|
|
#10 | ||
|
Invité régulier
![]() Inscription : avril 2004 Messages : 61 ![]() |
Petite précision : j'ai dû modifier ça dans la fonction fetchSQL, sinon quand il n'y avait pas de résultat à la requête ça ne renvoyait rien du tout...
Code :
|
||
|
|
00
|
|
|
#11 | ||
|
Expert Confirmé
![]() ![]() Emmanuel REMY Inscription : novembre 2005 Messages : 2 826 ![]() |
Plutôt:
Code :
ERE
__________________
Quand une tête pense seule, elle devient folle. |
||
|
|
00
|
|
|
#12 |
|
Invité régulier
![]() Inscription : avril 2004 Messages : 61 ![]() |
Adjugé vendu!
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com