Hallo.
Wie im Betreff angegeben geht es um die Weitergabe einer PHP-Variable an JavaScript.
Datei: test3.php
Das funktioniert auch.
Wenn ich nun allerdings die PHP-Datei über eine JS-Funktion aufrufe, die wiederum aus einer HTM-Datei aufgerufen wird passiert nichts.
Datei: test3.htm
Datei: test3.js
Ein Vorschlag den gesamen Code in einer Datei zusammenzufassen bringt mich ausdrücklich nicht weiter.
Der Code ist Teil eines größeren Projektes, auf das allernötigste runtergekürzt und enthält nur "Testcode".
Ich will einfach nur verstehen, was ich falsch mache, dass der Aufruf über drei Ecken nicht funktioniert.
Besten Dank vorab.
Cheers
Matze
Wie im Betreff angegeben geht es um die Weitergabe einer PHP-Variable an JavaScript.
Datei: test3.php
PHP:
<?php
echo 'Start Datei test3.PHP';
$PHPvariable = 'TEST-Variable';
echo '<script type="text/javascript">';
echo 'var JSvariable = "' . $PHPvariable . '";';
echo '</script>';
?>
<script type="text/javascript">
alert('Variable PHP > JS: ' + JSvariable );
</script>
Das funktioniert auch.
Wenn ich nun allerdings die PHP-Datei über eine JS-Funktion aufrufe, die wiederum aus einer HTM-Datei aufgerufen wird passiert nichts.
Datei: test3.htm
HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
</head>
<script src="test3.js"></script>
<body>
Start test3.HTM
<div id="test3"></div>
<script>test3("test")</script>
</body>
</html>
Datei: test3.js
Code:
function test3(str) {
document.write("Start test3.JS");
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("test3").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET","test3.php?q="+str,true);
xmlhttp.send();
}
Ein Vorschlag den gesamen Code in einer Datei zusammenzufassen bringt mich ausdrücklich nicht weiter.
Der Code ist Teil eines größeren Projektes, auf das allernötigste runtergekürzt und enthält nur "Testcode".
Ich will einfach nur verstehen, was ich falsch mache, dass der Aufruf über drei Ecken nicht funktioniert.
Besten Dank vorab.
Cheers
Matze