Dies funktioniert, schließlich ist es ein Syntaxfehler, aber ich frage mich, wie könnte man dies tun, so dass die Syntax korrekt ist.Syntaxfehler bei der Ausgabe von PHP zu Javascript
Der folgende Code ist Teil eines Skripts, das Variablen vorbereitet, die bei einem Ajax-Aufruf gesendet werden. Daher sollte die entsprechende Variable je nach Umfang an Ajax übergeben werden.
Problem, von Javascript Perspektive scheint, ist, dass nur die PHP-Variable für jeden Bereich definiert ist.
Ich würde denken, dass es überhaupt nicht versuchen würde, zu analysieren, wenn die andere Bedingung nicht erfüllt ist, aber anscheinend ist das nicht der Fall. Die PHP-Variable $ scope ist immer definiert.
Sowohl Firebug und Chrome-Entwickler-Tool werfen den Fehler:
var scope_var = <br />
<b>Notice</b>: Undefined variable: brand in <b>/Applications/MAMP/htdocs/my_site/my_script.php</b> on line <b>1049</b><br />null;
Dank
var scope = <?php echo json_encode($scope) ;?>;
if (scope == 'all') {var scope_var = 'all';}
else if (scope == 'brands') {var scope_var = <?php echo json_encode($brand) ;?>;}
else if (scope == 'cities') {var scope_var = <?php echo json_encode($city) ;?>;}
else if (scope == 'models') {var scope_var = <?php echo json_encode($model) ;?>;}
else if (scope == 'prange') {var scope_var = <?php echo json_encode($used_prange_low) . '|' . json_encode($used_prange_high) ;?>;}
einfache Anführungszeichen verwenden var scope_var = ' Php echo json_encode ($ marken);?>'; –
Sind Sie sicher, dass $ brand definiert ist? versuche es vor den if-Anweisungen zu drucken. –