[Résolu] Script ajax affiché échappé

Dans un code qui d’ordinaire marche bien, j’appelle du javascript et le plus souvent il s’exécute correctement, mais parfois il s’affiche à l’écran.

Quand ça foire, on lit ça à l’écran (texto) :

Ok. Vos modifications ont été prises en compte.`<script
 type='text/javascript'>if (window.jQuery) 
ajaxReload('inc-descriptions',{args:{id_truc:24283,message:"Statut
mis à jour"}});</script>`

Et voici le HTML du code échappé (texto) :

<code class="echappe-js" dir="ltr">&amp;lt;script type='text/javascript'&amp;gt;if (window.jQuery) ajaxReload('inc-descriptions',{args:{id_truc:24055,message:&amp;quot;Statut mis à jour&amp;quot;}});&amp;lt;/script&amp;gt;</code>

Ce script est renvoyé par le traiter d’un formulaire :

$res = ['message_ok'=>_T('info_modification_enregistree')
   ."<script type='text/javascript'>if (window.jQuery) ajaxReload('inc-descriptions',{args:{id_truc:$id_truc,message:\"Statut mis à jour\"}});</script>"
];

Étrangement, malgré cet affichage échappé, le script est exécuté correctement.

Il semble aussi que ça se produit de plus en plus fréquemment, de manière peut être lié à une dégradation de l’hébergement chez Gandi.

Avez vous une idée des origines possibles de cet affichage échappé et de la manière d’y remédier ?

Je vois que l’affichage se fait en 2 temps

  • un premier temps correct, ou l’inclusion mise à jour s’affiche proprement mais reste en semi transparence comme quand l’ajax n’est pas fini
  • puis un 2eme affichage où le code échappée est affiché en prime

Quand je supprime le script d’appel à ajaxReload dans le message_ok, le problème ne se pose plus… Le message argument de l’appel à ajaxReload ne s’affiche pas, évidemment, mais je vais creuser cette piste.

Simplement je vire cet appel ajax alors