coach759
Messages postés43Date d'inscriptionvendredi 29 mai 2009StatutMembreDernière intervention 4 mars 2011
-
6 oct. 2009 à 15:07
cs_Sharkiller
Messages postés80Date d'inscriptiondimanche 12 octobre 2003StatutMembreDernière intervention25 avril 2011
-
6 juin 2010 à 14:29
Voila, bonjour à tous,
J'ai un problème avec jquery
cs_Sharkiller
Messages postés80Date d'inscriptiondimanche 12 octobre 2003StatutMembreDernière intervention25 avril 2011 5 juin 2010 à 16:03
Bonjour,
Excusez-moi de "détérer" (il n'est pas si vieux) ce sujet, mais j'ai aussi un problème avec JQuery, alors que pourtant il ne devrait apparemment pas y en avoir...
Je viens de découvrir ce "Framework" et j'arrive maintenant à manipuler $.get, $.post, $.load et $.ajax pour ce que je veux en faire, c'est-à-dire récupérer le contenu d'une page dont on donne l'URL. En local, ça marche très bien, mais dès que je donne l'URL d'une page distante (style "http://www.mon-site.com/page.php"), cela ne marche plus.
Sur tous les sites que j'ai regardé pour résoudre mon problème, ils arrivent tous à lire une page distante...
JDMCreator, vous dites ne pas utiliser de "Framework", alors serait-il possible de récupérer le contenu d'une page distante sans JQuery ?
jdmcreator
Messages postés647Date d'inscriptionsamedi 30 décembre 2000StatutMembreDernière intervention20 juillet 20127 6 juin 2010 à 03:32
Bonjour,
"JDMCreator, vous dites ne pas utiliser de 'Framework'"
>> En effet, pour moi les frameworks n'ont aucune utilité. Ils ne fonctionnent jamais comme on veux et argument non négligeable : ils sont très lourds. Toutefois, je respecte ceux qui les utilise. Mais je préfère coder mes fonctions plutôt que d'avoir recours à une librairie de style JQuery ou Prototype.js
"Sur tous les sites que j'ai regardé pour résoudre mon problème, ils arrivent tous à lire une page distante... "
>> O_O C'est impossible : JQuery n'est pas assez évolué pour faire ce genre de chose. Ceux qui font ce genre de chose utilisent PHP ou d'autres langages serveurs.
Pour expliquer un peu Ajax (comme tu n'as pas posté de source, je ne connais pas ton niveau en Javascript) : Ajax est une combinaison de différente technologie : le DHTML, le Javascript entre autre et xmlHttpRequest.
Ajax est souvent une autre façon de parler d'xmlHttpRequest. xmlHttpRequest permet (à son niveau 1) de faire des requêtes vers des pages sur le même serveur.
xmlHttpRequest existe sous IE7 et + et est disponible sous forme d'ActiveX dans les versions précédentes. Donc, aucun problème de compatibilité.
Devient corsé faire des requêtes xmlHttpRequest entre différent domaine. C'est possible mais... il faut que le site soit d'accord. Il faut que le site aille comme entête :
<?php
header("Access-Control-Allow-Origin: *");
Pour cela, il faut utiliser le niveau 2 d'xmlHttpRequest ainsi que xDomainRequest. Par contre, ne fonctionne qu'avec Safari 4, Firefox 3.5 et Internet Explorer 8. Aucun support d'Opéra. Je te prie de visiter ce tutoriel pour plus d'information : Site du Zéro.
J'avais écrit un script qui permettait le xmlHttpRequest crossbrowser et crossdomain sous le nom de code xXmlHttpRequest. Tu peux trouver de l'info sur mon blogue. Mais à la suite de message privé reçu, j'ai décidé de ne plus prendre le projet en priorité. Il fallait aussi que la page visé aille le script.
N'hésite pas à poser des questions si tu en as
JDMCreator
--------
Participez au nouveau projet : la wiki sur le javascript !
fr.jsinfo.wikia.com
cs_Sharkiller
Messages postés80Date d'inscriptiondimanche 12 octobre 2003StatutMembreDernière intervention25 avril 2011 6 juin 2010 à 14:29
Merci beaucoup pour ces superbes explications !
Je n'ai pas posté de code en Javascript parce que je ne pense pas que la simplicité des applications que j'en fais soit utile pour les poster ici. Pour ce qui est de l'Ajax, je n'en connais rien encore, mais j'aimerais bien...
J'ai compris le problème, et je vais me pencher sur ces idées ! C'est aussi à cause du "cross-domain" que je me suis penché sur cette méthode, car le PHP non plus ne permet pas d'utiliser des fichiers distants comme partie de code. Je ne sais pas si avec l'"header" cela résoudrait le problème.