2016-05-04 10 views
-1

Ich bin sehr neu in PHP.Weitergabe von Javascript-Wert an PHP ist dies der richtige Ansatz?

Nachdem alle Kommentare unten i die Frage geändert haben, und ich habe mit Ajax versucht, gemäß dem Vorschlag

<script type="text/javascript"> 
    function getval(sel) { 
     var get= sel.value; 
     alert(get); 
    } 
</script> 

ich versucht habe:

<script type="text/javascript"> 
var a=get; 
var xhttp = new XMLHttpRequest(); 
xhttp.onreadystatechange = function() { 
if (xhttp.readyState == 4 && xhttp.status == 200) { 
alert(xhttp.responseText) 
} 
}; 

xhttp.open("GET", "?a="+a, false); 
xhttp.send(); 

</script> 

Aber ich nicht ausgegeben bekommen haben.

Problem in xhttp.open konfrontiert alle Code sind in einzelne Seite, so habe ich keinen Pfad angegeben.

+0

Sie etwas brauchen einreichen erste –

+0

trennen Sie können nicht ohne AJAX tun. Der Grund ist ziemlich einfach, wenn diese Seite angefordert wird, wird zuerst das PHP gerendert, das auch die Javascript-Skripte rendert. Sie können Variablen von PHP an JS übergeben, aber nicht umgekehrt. Es ist ein Fluss in einer Richtung. Alternativ können Sie mit AJAX Daten vom Browser an PHP senden, ohne die Seite neu laden zu müssen. http://www.w3schools.com/ajax/ – deadlock

+0

@Ma Yubo haben wir nicht jede Option ohne – JMR

Antwort

1

Sie können das nicht tun, ohne die Seite neu zu laden oder AJAX zu verwenden. Der Grund ist ziemlich einfach, wenn diese Seite angefordert wird, wird das PHP zuerst gerendert, das dann die Javascriptskripte zusammen mit dem HTML DOM rendert. Sie können Variablen von PHP an JS übergeben, aber nicht umgekehrt. Es ist ein Fluss in einer Richtung. Alternativ können Sie mit AJAX Daten vom Browser an PHP senden, ohne die Seite neu laden zu müssen. http://www.w3schools.com/ajax/

0

für Javascript

var a=1 //variable you want pass 

var xhttp = new XMLHttpRequest(); 
    xhttp.onreadystatechange = function() { 
    if (xhttp.readyState == 4 && xhttp.status == 200) { 
    alert(xhttp.responseText) 
    } 
}; 
xhttp.open("GET", "php.php?a="+a, true); 
xhttp.send(); 

auf php

echo $_GET['a'] 
+0

JMR

+0

Das ist eine schlechte Idee, so großen Code in Kommentar zu schreiben. Sie können eine neue Antwort mit einer Erklärung schreiben. – Milap

+0

Problem konfrontiert in xhttp.open ("GET", "a =" + a, falsch); der ganze Code oder die selbe Seite iam Sorry, wenn ich hier einen Fehler gemacht habe – JMR

Verwandte Themen