Heim >php教程 >PHP开发 >Datenübertragung zwischen PHP und JavaScript

Datenübertragung zwischen PHP und JavaScript

高洛峰
高洛峰Original
2016-11-28 14:04:561592Durchsuche

In der Webentwicklung muss häufig die Kommunikation zwischen PHP und JavaScript erfolgen. Unten finden Sie ein Beispiel.

JavaScript-Seite:

Stellen Sie sicher, dass Sie xmlHttp.setRequestHeader festlegen, da sonst die an PHP übergebenen Parameter null werden (Zeile 43). Linie 36 ist das Highlight.

<script type="text/javascript">
function GetJson() 
{
    var xmlHttp;
    try
    {
        // Firefox, Opera 8.0+, Safari
        xmlHttp = new XMLHttpRequest();
    }
    catch (e) 
    {
        // Internet Explorer
        try {
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e) 
        {
            try {
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e) {
                alert("您的浏览器不支持AJAX!");
                    return false;
            }
        }
    }
     
    xmlHttp.onreadystatechange = function() 
    {
        if (xmlHttp.readyState == 4) 
        {
            //alert(xmlHttp.responseText);
            var str = xmlHttp.responseText;
            document.getElementById(&#39;show&#39;).innerHTML +=str;
            //alert(str);
            var obj = eval(&#39;(&#39;+ xmlHttp.responseText +&#39;)&#39;);
            //var obj = eval(({"id":"123","name":"elar","age":"21"}));
            alert(obj.name);
        }
    }
    var data = "id=123";
    xmlHttp.open("POST", "testJson.php", true);
    xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 
    xmlHttp.send("id=123");
}
</script>
<input type="button" onclick="GetJson()" value="按我!"/>
<hr />
<div id="show"></div>

PHP-Seite [testJson.php]:

Beachten Sie, dass die PHP-Datei sauber sein muss und es keine anderen Tags außerhalb des bb9bd6d87db7f8730c53cb084e6b4d2d-Tags geben darf. Andernfalls kann die Auswertungsfunktion es nicht analysieren.

<?php 
$res[&#39;id&#39;] = $_POST[&#39;id&#39;];
$res[&#39;name&#39;] = "elar";
$res[&#39;age&#39;] = "21";
$response = "hello this is response".$_POST[&#39;id&#39;];
echo json_encode($res);
?>

Zusammenfassung:

js muss Daten an PHP senden und verwendet xmlHttp.send("id=123");

PHP sendet Daten an js, using echo json_encode($res); (beachten Sie, dass die Konstruktion der Variablen $res der JSON-Spezifikation entsprechen sollte)

js Um die von PHP gesendeten JSON-Formatdaten zu analysieren, verwenden Sie var obj = eval(' ​​( '+ xmlHttp.responseText +')');


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn