Jquery, valeur retour $.get

coach759 Messages postés 43 Date d'inscription vendredi 29 mai 2009 Statut Membre Dernière intervention 4 mars 2011 - 6 oct. 2009 à 15:07
cs_Sharkiller Messages postés 80 Date d'inscription dimanche 12 octobre 2003 Statut Membre Dernière intervention 25 avril 2011 - 6 juin 2010 à 14:29
Voila, bonjour à tous,
J'ai un problème avec jquery

Voici ma fonction:

function getText(label){
$.get("lang/lang.php",
{label:label},
function(data){
alert(data);
return data;
}
);
}
 


Et je l'appelle comme cela dans mon code
$(this).html('
'+getText("TXT_DELETE")+'
');


Je ne comprends pas, mon alert(data) m'affiche bien la valeur que j'attends (ici, supprimer), mais mon return me renvoie undefined.

Avez-vous une idée pour corriger mon problème?

Merci


Si à la Saint Valentin elle te caresse la main, vivement la Sainte Marguerite...

4 réponses

jdmcreator Messages postés 647 Date d'inscription samedi 30 décembre 2000 Statut Membre Dernière intervention 20 juillet 2012 7
11 oct. 2009 à 18:10
Le problème vient vraisemblement de l'affichage.

Comme je n'utilise aucun framework (Prototype.js JQuery.js), je ne peux pas t'aider. Tu peux peut-être tenter ta chance sur le forum de JQUERY ;)


JDMCreator
--------
Participez au nouveau projet : la wiki sur le javascript !
fr.jsinfo.wikia.com
0
cs_Sharkiller Messages postés 80 Date d'inscription dimanche 12 octobre 2003 Statut Membre Dernière intervention 25 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 ?

Sharkill3r
0
jdmcreator Messages postés 647 Date d'inscription samedi 30 décembre 2000 Statut Membre Dernière intervention 20 juillet 2012 7
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

"En local, ça marche très bien"

>> Super

"mais dès que je donne l'URL d'une page distante (style "http://www.mon-site.com/page.php"), cela ne marche plus"

>> J'y reviendrai

"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
0
cs_Sharkiller Messages postés 80 Date d'inscription dimanche 12 octobre 2003 Statut Membre Dernière intervention 25 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.

En tout cas merci beaucoup de m'avoir éclairé !

Sharkill3r
0
Rejoignez-nous