Compatibilité Firefox - JavaScript

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Compatibilité Firefox - JavaScript

par artotal » 20 oct. 2006, 16:09

c'est vrai qu'on peux tester un script en ajax avec php, j'y avait vraiment pas penser :roll:
merci Ryle pour cette info

par Ish » 20 oct. 2006, 15:50

C'est un peu difficile à voir ... mais ça vient et je progresse dans le bon sens ... donc je ne désespere pas, je continu à apprendre et le mieux je pense et de mettre les mains dans le code !!!
Toutes ces questions car je dois adapter une application aux normes AJAX !!

:wink: ...

par Ryle » 20 oct. 2006, 15:36

Je voudrais quand même faire quelques précisions...

- Le javascript s'exécute côté client. Il permet de réagir immédiatement en fonction des actions menées par l'utilisateur sur le navigateur mais est limité dans la mesure ou tout doit être chargé dans la page dès l'ouverture

- L'objet HttpRequest permet d'interroger le serveur à l'aide de javascript. Le gros avantage est donc de ne plus avoir besoin de tout charger initialement, mais de pouvoir aller récupérer uniquement ce dont on a besoin, seulement quand on en a besoin, pour compléter la page.

- Côté serveur, ajax envoi ses paramètres comme n'importe quel utilisateur le fait via son navigateur. Il lit le résultat affiché à l'écran (généralement formaté en xml pour pouvoir distingué différent éléments, mais ça n'a rien d'obligatoire)

- Il n'est pas nécessaire d'utiliser php : n'importe quel langage côté serveur (php, asp, jsp, cgi, ...) peut retourner un résultat à l'écran (et donc à Ajax) - Ajax peut d'ailleurs très bien interroger une simple page html qu'il affichera directement dans un coin.

- L'avantage d'un script sur le serveur est de pouvoir se connecter à une base de données et d'exécuter des requêtes SQL. Aussi bien pour enregistrer des données que pour en lire et retourner le résultat. C'est un plus non négligeable, mais cela n'a rien d'indispensable

artotal >> "ne jamais faire confiance aux utilisateurs" est toujours vallable, même en Ajax. La seule chose qui change c'est la façon dont les données arrivent (et encore, ça reste du get ou du post), mais rien ne t'empêche dans ton script côté serveur de les tester en php et de les refuser si elles ne correspondent pas à ce que tu attends (et à renvoyer un message d'erreur à l'écran, qu'ajax se fera une joie de transmettre à l'utilisateur benêt ou malveillant :))

par Rei Itchido » 20 oct. 2006, 15:18

En fait non, PHP reste indispensable pour atteindre la base de données...

Ajax te permet d'executer un fichier PHP qui fait la requête, récupère les infos et les transmet à la page hôte.

Et derrière tu utilises ces infos sur ta page.

Et au final, concrètement, tu n'a pas rechargé la page hôte ;)

par artotal » 20 oct. 2006, 15:15

Il n'y a pas de plus dynamique :
Grace à l'ajax on ne rafraîchit que la requette et donc tout le reste, image, html... ne se recharge pas. Mais la requette est construite en php et seul l'appel est en javascript (d'ou la nom ajax) avec l'objet xmlhttprequest

Avec le php ou grace à lui quand on fait un requete on recharge toute la page. Donc à ton avis il est ou l'interêt d'ajax ?

ex:
Le forum sur lequel tu te trouve est en sans ajax, mais un site comme netvibe est en ajax.

Nos comptemporain adore l'ajax, voilà mon dilème. D'un coté les gourous me disent de ne jamais faire confiance aux utilisateurs, et d'un autre coté, google utilise ajax, le plus gros moteur de recherche francophone. Le microsoft du web.
:cry:
Donc si un gentil client, plein aux as, me demande de l'ajax partout, comme google quoi (je suis un doux rèveur) je vais me plier à ces quatres volontés..etc
Donc suite à une demande pressante, j'ai tout simplement simuler de l'ajax ici.
http://creatif-web.be/assoc/dossier.php?page=Sant%E9
"Petit bug sous IE on arrive pas à cliquer"
Donc si on click il n'y a pas d'actualisation.
Mais j'ai pas l'impression que tu comprennes tout, sa parceque la théorie c'est une chose, et la pratique en est une autre.
Comme un bon cordonnier qui tape dans le marteau, toi tu dois taper dans le clavier

par Ish » 20 oct. 2006, 14:49

Yep ... je crois avoir compris ...

Donc si l'utilisation du JavaScript pour échanger entre le navigateur et le serveur des données, c'est encore plus dynamique que le PHP en lui même.
L'utilisation d'AJAX permet d'avoir une page encore plus dynamique. Car le PHP seul (sans AJAX) est dynamique que si l'on raffraichis la page (mais c'est parfois long !). Et l'utilisation d'AJAX permet d'avoir une dynamicité sur une seule partie de la page (comme par exemple un menu déroulant) !!

Dis moi si je me trompe ...

par Rei Itchido » 20 oct. 2006, 14:36

Ca n'a pas rien à voir ;)
Tu peux utiliser les requêtes SQL via Ajax dans tes pages.

Comme te l'a dit Cyrano :
"Il ne faut pas se faire une montagne avec AJAX : si on résume, c'est l'utilisation du JavaScript pour échanger entre le navigateur et le serveur dans le but de récupérer des informations, des données et les afficher dans la page en cours sans la recharger"

Donc tu peux passer par Ajax pour faire une requête SQL et recharger une partie d'une page (une liste déroulante par exemple) sans pour autant recharger toute la page.

Mais tu peux faire bien d'autres choses...

Tu comprends?

par Ish » 20 oct. 2006, 14:17

Je pense que tu confonds requête serveur et requête SQL.
Quand tu demandes une page HTML simple au serveur, tu effectues une requête serveur sans qu'il n'y est aucun rapport avec une base de donnée par exemple.
Oui .. j'avais confondu ... donc l'utilisation de la méthode AJAX n'a rien à voir avec les requêtes SQL !!

par Rei Itchido » 20 oct. 2006, 13:34

Je pense que tu confonds requête serveur et requête SQL.
Quand tu demandes une page HTML simple au serveur, tu effectues une requête serveur sans qu'il n'y est aucun rapport avec une base de donnée par exemple.

par Ish » 20 oct. 2006, 12:31

Sympa merci pour ces conseil et ces liens explicatifs ...

Donc si je veux envoyer une grosse requête au serveur (vraiment baleze, sachant que je suis sous Oracle en entreprise (projet d'apprentissage)) ... et récupérer le résultat, il n'y aura pas une différence énorme puisque que l'AJAX va servir à envoyer une requête au serveur sans raffraichissement totale de la page.
Si j'envoie une requête banale pour récuperer des champs sur 2-3 tables, est-ce qu'il y aura un grand changement avec ou sans AJAX (JavaScript + XML + HttpRequest, bien évidemmment) !

:wink: :wink:

par mere-teresa » 20 oct. 2006, 10:53

Mais dans un site PHP, on ne peut paas tout mettre en JavaScript ??? Ils nous faut un minimum de PHP ?
Heu...tu n'as peut-être pas du tout besoin de PHP après tout :)

Pour répondre à ta question, voici une petite lecture ;) (source)


Une bonne répartition des ressources doit solliciter plus les postes clients, plutôt que le serveur et le réseau.
Ajax permet d'effectuer des traitements sur le poste client (avec JavaScript) à partir d'informations prises sur le serveur.
La création de pages web dynamiques auparavant se faisait coté serveur. Les modifications ou interrogations faites par le lecteur de la page sont des requètes envoyées au serveur, faisant qu'il crée une nouvelle page et l'envoie au navigateur à travers le réseau Internet en utilisant des services web, ou un langage intégré dans la page comme PHP. Ce n'est plus nécessaire.
Ajax permet de modifier partiellement la page affichée par le navigateur pour la mettre à jour sans avoir à recharger la page entière.

par mere-teresa » 20 oct. 2006, 10:48

Tu peux apprendre l'AJAX pour enrichir tes pages web, mais son utilisation est soumise à Javascript.
- Tu dois connaître bien Javascript (et le DOM HTML)
- Tes visiteurs doivent avoir javascript activé

Je te conseille de penser que ton site doit être visible sans javascript (donc pas le mettre sur des fonctionnalités primordiales).

par Ish » 20 oct. 2006, 10:37

OK ok ... je commence à comprendre ..

Pour citer un exemple basic mais qui me parait bien illustrer cela, c'est les listes déroulantes liées ... il est préferable (si l'on veux gagner en temps et ne pas surcharger le serveur) de faire cela en JavaScript qu'en PHP (Arrête moi si je me trompe) ...??

Mais dans un site PHP, on ne peut paas tout mettre en JavaScript ??? Ils nous faut un minimum de PHP ?

Quand tu parles de language serveur, est-ce que tu pense à HttpRequest ?

par Cyrano » 20 oct. 2006, 10:22

Il ne faut pas se faire une montagne avec AJAX : si on résume, c'est l'utilisation du JavaScript pour échanger entre le navigateur et le serveur dans le but de récupérer des informations, des données et les afficher dans la page en cours sans la recharger. Pour ça, on a besoin de JavaScript coté client pour créer un objet XHR et d'un langage serveur pour traiter les requêtes clients et retourner les données demandées. Donc comparer LAMP et AJAX n'est pas une question pertinente : AJAX est une méthode, LAMP est un environnement serveur.

La différence est à observer entre un développement avec ou sans AJAX :
- Sans Ajax, on envoie les requêtes au serveur via des liens HTTP et le serveur renvoie les données dans une nouvelle page (éventuellement la même qui se recharge complètement, mais virtuellement, c'est une page différente)
- Avec AJAX : on utilise coté client une programmation évènementielle avec JavaScript pour appeler des fonctions : ces fonctions vont créer un objet XHR et envoyer un serveur une requête. Le serveur va exécuter le code et retourner l'information selon la manière dont le script est conçu. Coté client, l'objet XHR récupère ces données et selon les instructions programmées dans le JavaScript, va afficher ces données en utilisant en général innerHTML. Le contenu de la page sera alors partiellement mis à jour, mais la page ne se recharge pas, et si par exemple on fait [F5], on retombera sur la page d'origine sans les modifications qui viennent d'être affichées. De même que cliquer sur le bouton [Précédent] ne va pas ramener à l'état initial de la page mais ramener à la page qui était affichée avant, entends par là la précédente url qu'il y avait dans la barre de navigation.

par Ish » 20 oct. 2006, 09:59

Je me suis poser la question.
Ne doit jamais faire confiance à l'utilisateur et par conséquent préféré coder en php autant que possible !!!
Au même titre qu'un application en c++ on n'y gagne en sécurité, fiabilité, contrôle de l'application... etc.
Mais d'un autre coté le temps est bien au xmlhttprequest, en doit t'on pas être dans l'air du temps au rique de s'isoler ?¿
Entiérement raison sur ce coup !!

J'ai enore du mal à comprendre l'AJAX et c'est pourquoi je vais vous poser encore 2-3 petites questions !

L'AJAX qui est juste une méthode de développemnt d'application web ... et un méthode pour utiliser du JavaScript à outrance ???
Il reste quand même du PHP ??
Auriez-vous des différence de code à montrer entre un dév LAMP et un dév AJAX pour que je me fasse une idée !!

Merci