Baba: Javascript in XML transportieren

Hallo,
mein per AjaxRequest aufgerufenes Script produziert eine XML Antwort der Form

  
<response>  
  <status>exit</status>  
  <debug>  
    <text type="ajax">scen_chart</text>  
    <text type="task">chaintab_form</text>  
  </debug>  
  <console>  
    <text>added 350NFB.SCEN to plot</text>  
    <text type="green">chart delivered</text>  
  </console>  
  <html_tx>  
    <text type="chartdiv">chart delivered</text>  
  </html_tx>  
</response>

Dies, um verschiedene Rückgabewerte zu verarbeiten.
Auch gebe ich in html_tx teilweise Javascript zurück, den ich vorher in <![CDATA[ Bereiche verpacke. Damit kommen sie dann durch und ich kann sie mittels eval() in der Callback-Funktion ausführen. Nun habe ich einen großen Javascript-Code produziert und er kommt irgendwie nicht recht an. In der Konsole erhalte ich die Meldung "invalid property id". Ich tippe darauf, dass die mitgelieferten eckigen Klammern Schuld sind. Daher die Frage, wie kann ich den JS-Code unbeschädigt durch das Xml-Response transportieren?

Vielen Dank für Hinweise.

Cheers,
Baba

  1. Daher die Frage, wie kann ich den JS-Code unbeschädigt durch das Xml-Response transportieren?

    Durch richtige Maskierung desselben.

    1. Daher die Frage, wie kann ich den JS-Code unbeschädigt durch das Xml-Response transportieren?

      Durch richtige Maskierung desselben.

      Ja, es geht um Kontextwechsel. Nur finde ich ja die passende Funktion nicht. ODer muss ich mir die selber bauen.

      Das XML wird per php generiert. Gibt es eine php-Funktion, die mir die Klammern maskiert? Es ist wohl wahrscheinlich doch die geschweifte Klammer schuld. Wenn ich mir selber eine Funktion baue: in was soll ich die Klammern maskieren?

      Cheers,
      Baba

      1. Ja, es geht um Kontextwechsel. Nur finde ich ja die passende Funktion nicht. ODer muss ich mir die selber bauen.

        Es gibt "immer" eine passende Funktion :)

        Das XML wird per php generiert. Gibt es eine php-Funktion, die mir die Klammern maskiert?

        Eckige Klammern sind in XML völlig harmlos - daran scheitert es sicher nicht.

        Am besten nimmt man für sowas gleich entsprechende Klassen, die sich um sowas kümmern. Zum bauen der XML-Antwort z.B. SimpleXML.

        In erster Linie gilt es mal zu Isolieren wo du wann in welchen Kontext wechselst und wo es dann unterm Strich schief läuft.

        1. In erster Linie gilt es mal zu Isolieren wo du wann in welchen Kontext wechselst und wo es dann unterm Strich schief läuft.

          Vielen Dank erstmal. Ich beschäftige mich morgen wieder damit, bin in einer anderen ZEitzon (kurz vor vier). Vielen Dank und bis morgen.

          Sowei bin ich schon: es hat was mit der eckigen oder der geschweiften Klammer zu tun. In dem JS-Code wird ein Array deklariert:

          var chartData = [

          {
          category :  new Date(1990,0,15),
          350NFB : 5.975
          },{
          category :  new Date(1995,0,15),
          350NFB : 6.488
          },{

          usw.

          }];

          Der ist es irgendwie. Mal sehen, wie ich es schaffe, den zu maskieren. Kann es sein, dass die eckigen Klammern den CDATA-Bereich verlassen? Obwohl dazu doch eigentlich zwei hintereinanderfolgende bestimmt sein sollten?

          Liebe Grüße und gute NAcht

          Cheers,
          Baba

          1. Ich gehe davon aus, dass du dieses kleine Dingens mittels json_encode() schreibst - da gibts auch massig Escaping-Funktionen.

            1. Ich gehe davon aus, dass du dieses kleine Dingens mittels json_encode() schreibst - da gibts auch massig Escaping-Funktionen.

              Vielen Dank für die Hinweise. Anscheinend war mit CDATA der Bereich für Javscript ausreichend escaped. Das Problem lag an dem JS Code selber. Die Variable var chartData enthielt die Variable 350NFB, mit einer führenden Zahl. Dies ist nicht zulässig. Mit g350NFB läuft es jetzt.

              var chartData = [

              {
              category :  new Date(1990,0,15),
              350NFB : 5.975
              },{
              category :  new Date(1995,0,15),
              350NFB : 6.488
              },{

              usw.

              }];

              Cheers,
              Baba