11-06-2010, 11:02 AM
(Modification du message : 11-06-2010, 11:08 AM par Sephi-Chan.)
(10-06-2010, 04:57 PM)My Hotel a écrit : J'ai jamais vu de l'AJAX qui renvoie du JS...
Pourtant ça se fait beaucoup.
(10-06-2010, 10:57 PM)php_addict a écrit :(10-06-2010, 04:48 PM)Argorate a écrit : Donc quel méthode/astuce peut t-on utilisé pour que cela fonctionne? J'ai souvent entendu parler d'eval() mais j'aimerais bien plus ample explication.
j'imagines que tu connais le proverbe "eval is evil" --> http://www.google.fr/#hl=fr&source=hp&q=...69c8353fd7
sinon si tu as des parseurs plus légers que de passer par Jquery juste pour ca:
JSONparse -->http://www.json.org/js.html mais cela necessite que les données transférées soient en JSON...
Le problème d'Argorate n'est pas lié à JSON (je ne pense pas qu'il l'utilise) mais bien d'interpréter son responseText comme du Javascript. Si son responseText contient alert("Endive !");, ça doit effectivement ouvrir une boîte d'alerte.
Pour faire ça proprement, il faut que la page qui sert du Javascript a intérpréter rende le MIME-type "text/javascript". En PHP, ça se fait avec :
header("Content-Type: text/javascript");
Ensuite, tout ça se fait très facilement avec des librairies (et ne devrait pas être fait autrement à moins d'avoir une très solide maîtrise de Javascript pour écrire soit-même un parser fiable) :
Avec Prototype, ça se fait tout seul sous réserve que le MIME-type indiqué soit renvoyé :
new Ajax.Request('url', { method: 'get' });
Avec jQuery :
$.getScript('url');
Sephi-Chan