Home > php教程 > PHP开发 > Data transfer between PHP and JavaScript

Data transfer between PHP and JavaScript

高洛峰
Release: 2016-11-28 14:04:56
Original
1557 people have browsed it

In web development, communication between PHP and JavaScript is something that often needs to be done. Below is an example.

JavaScript side:

Be sure to set xmlHttp.setRequestHeader, otherwise the parameters passed to PHP will become null (line 43). Line 36 is the 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>
Copy after login

PHP side [testJson.php]:

Note that the php file must be clean, and there must be no other tags outside the tag, otherwise the eval function cannot parse it.

<?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);
?>
Copy after login

Summary:

js wants to send data to PHP, it uses xmlHttp.send("id=123");

PHP sends data to js, ​​it uses echo json_encode($res); (note The construction of variable $res should comply with JSON specifications)

js To parse the JSON format data sent by PHP, use var obj = eval('('+ xmlHttp.responseText +')');


Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template