Heim > php教程 > PHP开发 > Hauptteil

Datenübertragung zwischen PHP und JavaScript

高洛峰
Freigeben: 2016-11-28 14:04:56
Original
1540 Leute haben es durchsucht

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>
Nach dem Login kopieren

PHP-Seite [testJson.php]:

Beachten Sie, dass die PHP-Datei sauber sein muss und es keine anderen Tags außerhalb des -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);
?>
Nach dem Login kopieren

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 +')');


Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage