# php code (output) in javascript einbinden



## Karlito1 (21. Oktober 2016)

Hallo Leute,
ich benutze Go.js für mein Project und ich muss jetzt mit JavaScript(Grundlagen habe ich) zu tun haben. Also wie kann ich bitte meinen php Code in Javascript code aufrufen damit ich sowas habe?




```
var nodeDataArray = [ //Output meines php codes gibt =>
{key: "I"}
{key: "J"}
{key: "K"}
{key: "L"}
{key: "M"}
{key: "X"}
{key: "Z"}
]
```

Danke für tipps und tricks


----------



## sheel (21. Oktober 2016)

Hi

soll der JS-Code gleichzeitig mit dem restlichen HTML herum von PHP generiert werden,
oder muss der Inhalt von nodeDataArray während dem Anzeigen von der Seite nachgeladen werden?


----------



## Karlito1 (21. Oktober 2016)

sheel hat gesagt.:


> Hi
> 
> soll der JS-Code gleichzeitig mit dem restlichen HTML herum von PHP generiert werden,
> oder muss der Inhalt von nodeDataArray während dem Anzeigen von der Seite nachgeladen werden?


Hey,
"soll der JS-Code gleichzeitig mit dem restlichen HTML herum von PHP generiert werden" denke ich schon. Also mein script heißt minimal.php und drin habe ich php und JavaScript.
so php soll zuerst "laufen" und dann JavaScript hole das Ergebnis nach und verarbeitet es.


```
$result = .....
```
und den Inhalt muss in Javascript übernommen werden
[JAVASCRIPT]
var nodeDataArray = [$result]
[/JAVASCRIPT]

Ich hoffe ich habe geantwortet.


----------



## sheel (21. Oktober 2016)

Falls ich das richtig verstanden habe, was spricht gegen ein einfaches

```
<?php echo $result; ?>
```
an der richtigen Stelle mitten im JS-Code?


----------



## Karlito1 (21. Oktober 2016)

sheel hat gesagt.:


> Falls ich das richtig verstanden habe, was spricht gegen ein einfaches
> 
> ```
> <?php echo $result; ?>
> ...


funktioniert nicht


----------



## ComFreek (21. Oktober 2016)

In welchem Format stehen die Daten in $result?

Falls $result selbst kein JavaScript-Code bzw. gültiger JSON-String ist, sondern z. B. ein Array, musst du das Ergebnis von "json_encode($result)" ausgeben.


----------



## Karlito1 (24. Oktober 2016)

ComFreek hat gesagt.:


> In welchem Format stehen die Daten in $result?
> 
> Falls $result selbst kein JavaScript-Code bzw. gültiger JSON-String ist, sondern z. B. ein Array, musst du das Ergebnis von "json_encode($result)" ausgeben.


die Daten sind kein JavaScript-Code und ich habe schon so gemacht
var nodedDataArray = JSON.parse('<?php echo json_encode($result) ?>');

aber funktioniert nicht


----------



## ComFreek (25. Oktober 2016)

Der JSON-Code als Ausgabe von json_encode kann durchaus einfache Anführungszeichen (') beinhalten, sodass du Syntax-Fehler im JS bekommen wirst.
Da JSON aber JS-kompatibel ist, kannst du es direkt so einbinden:

```
var nodedDataArray = <?php echo json_encode($result); ?>
```


----------



## Karlito1 (26. Oktober 2016)

ComFreek hat gesagt.:


> Der JSON-Code als Ausgabe von json_encode kann durchaus einfache Anführungszeichen (') beinhalten, sodass du Syntax-Fehler im JS bekommen wirst.
> Da JSON aber JS-kompatibel ist, kannst du es direkt so einbinden:
> 
> ```
> ...



danke aber geht auch nicht.

Also ich habe  print_r($result) probiert und ich bekomme 
Array
(
    [0] => {key: "K" },
{key: "I" },
{key: "J" },
{key: "L" },
{key: "M" },
{key: "X" },
{key: "Z" }
)


statt


Array
(
    [0] => {key: "K" },
    [1] => {key: "I" },
    [2] => {key: "J" },
    [3] => {key: "L" },
    [4] => {key: "M" },
    [5] => {key: "X" },
    [6] => {key: "Z" }
)

Vlt. liegt es dran?
Also es ist kein richtiges Array oder?

Hier ist mein php-code (wenn nötig)


```
$nodeList = array ("K", "I", "J", "L", "M", "X", "Z");
$linesList = array();
$nodeListTwo = array();

foreach($nodeList  as $key){
     $lineList[] = "{key: \"{$key}\"&nbsp;}";
}
$nodeListTwo[] = implode(',<br>', $linesList);
 
echo "<pre>";
print_r($nodeListTwo);
echo "<pre>";
```


----------

