onreadystatechange non reconnu [AJAX] - HTML/CSS - Programmation
Marsh Posté le 07-10-2009 à 23:06:02
A moins que tu ne tiennes absolument à garder ton code à toi, pourquoi ne pas utiliser les frameworks qui existent et qui sont éprouvés ?
Regardes par là : http://docs.jquery.com/Ajax
Chez toi ca donnerait un truc tout con du style :
Code :
|
Marsh Posté le 08-10-2009 à 06:33:52
bonjour,
Code :
|
ça ira mieux
@+
ps : @SICKofitALL : 100k pour remplacer quelques lignes en javascript ????
Marsh Posté le 08-10-2009 à 08:04:29
bul_3 a écrit : bonjour, |
pas 100, 55k en minifié et même 20 une fois gzippé par le serveur, ca reste honnete.
Et vu que ca existe tout fait et que ca marche bien
Marsh Posté le 08-10-2009 à 08:38:26
sauf
que c'est un sur-langage propriétaire à apprendre
que pour maintenir et pour l'avenir, la pérennité [edit] je craindrais
que la compatibilité multi-navigateurs et autres
bibliothèques de fonctions n'est pas toujours là
que si on n'utilise que pour ajax ( 10 lignes
maxi en js ), j'ai des doutes sur l'utilité
...
ce n'est que mon avis et ça ne fait pas le moine.
@+
Marsh Posté le 08-10-2009 à 16:40:15
Ton problème ne serait pas lié aux paramètres de sécurité du navigateur ? J'utilise exactement le même code, et je ne me rappelle pas avoir eu de problèmes particuliers chez les clients (qui utilisent le site principalement en intranet, donc avec une sécurité un peu moins paranoïaque).
Sinon, ça fait un paquet de fois que je vois ce code pour gérer les requètes XmlHttpRequest: une closure d'une variable locale dans une fonction annonyme. Je ne sais pas si c'est ton cas, mais après avoir fait plusieurs bench, ce système cause un memory leak MASSIF dans Internet Explorer 7 et 8, chez moi et chez beaucoup d'autres clients (à vu de nez, c'est une centaine de Ko par requète).
Le fix :
Code :
|
Ça brise la référence circulaire entre xhr_objet et la fonction annonyme.
Marsh Posté le 08-10-2009 à 16:44:20
ReplyMarsh Posté le 08-10-2009 à 17:18:20
bul_3 a écrit : non, non, |
Ha, euh, faut dire que le code n'est pas super bien indenté, j'ai un peu de mal à voir la différence entre les deux versions. Cela dit, j'ai fait un copier/coller du code original dans une page de test et ça_marche_chez_moi™ (enfin, si on exclu le memory leak).
Marsh Posté le 09-10-2009 à 00:56:05
bul_3 a écrit : sauf |
Ho oui super \o/
Je réagissais comme toi avant, j'ai tout codé mes propres truc, même des micros bibliothèques d'animation. Mais force est de constater que tu gagnes un temps considérable à développer en utilisant une vrai librairie telle que mootools (jquery à part car c'est pas une lib faite pour de vraies applications très orientées OO en JS).
Il y a beaucoup d'avantages à utiliser une libraire, tel que le gain de temps et surtout la simplicité de codage et l'utilisations d'effets déjà tout prêts sans avoir à se casser la tête. Mais derrière comme tu le dis, on est dépendant de la librairie et de son évolution. Si la librairie n'évolue plus, tu auras du mal à trouver des "trucs" tous fait qui utilisent la version de ta lib.
Le mieux étant d'avoir une "interface" donc les fonctions sont appelées par les objets que tu as codé, et derrière tu n'as juste qu'à plugger n'importe quelle autre librairie
Marsh Posté le 09-10-2009 à 09:43:46
bul_3 a écrit : sauf |
Tu devrais essayer de t'intéresser à ces librairies. Elles permettent vraiment de se faciliter la vie, et de faire des trucs très facilement qui serait assez complexe en temps normal.
Marsh Posté le 07-10-2009 à 17:07:36
Bonjour à tous,
j'utilise une fonction qui met à jour une base de données lors de clic sur des boutons.
Voici la fonction appelée
vous l'aurez compris le fichier ajaxDeco.php exécute une requête pour faire la mise à jour de ma base.
moi je n'ai pas de problème avec ces mises à jours par contre cela ne fonctionne pas pour tout le monde.
Et pourtant, j'ai ajouté des alert pour au niveau de la reconnaissance du navigateur et tout à l'air normal.
Lorsque j'active la ligne //alert("readyState "+xhr_object.readyState);
les utilisateurs ayant des problèmes me disent qu'aucune alert ne s'affiche.
Savez-vous d'où cela peut provenir ?
du navigateur ?
de mon fichier php ?
d'autre chose ?
merci à tous pour votre aide et bonne soirée
Matt