PHP返回JSON数据
再用JAVASCRIPT读取JSON数据就可以了

解决方案 »

  1.   

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Report</title>
    <!--<link href="../css/style.css" rel="stylesheet" title="win2k-cold-1" type="text/css" media="all">-->
    <style type="text/css">
    <!--
    body {
        margin-left: 0px;
        margin-top: 0px;
    }
    -->
    </style>
    <script type="text/javascript">
    <!--
    var $ = function (id) {
        return "string" == typeof id ? document.getElementById(id) : id;
    };
    -->
    </script>
    <script language="JavaScript" type="text/JavaScript">
    <!--
    // JavaScript Documentvar mainurl = 'http://127.0.0.1/test.php';// JavaScript Document
    var isIE;
    var reg;
    var divObj;
    var postStr = "";// ajax object inital
    if (navigator.appName == 'Microsoft Internet Explorer') 
        isIE = true;
    else
        isIE = false;
    function newXMLHttpRequest() 
    {
        var xmlreq = false;
        if (window.XMLHttpRequest) 
        {
            xmlreq = new XMLHttpRequest();// Create XMLHttpRequest object in non-Microsoft browsers
          } 
          else if (window.ActiveXObject) 
          {
            // Create XMLHttpRequest via MS ActiveX
            try {
              // Try to create XMLHttpRequest in later versions of Internet Explorer
                xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e1) {
                  // Failed to create required ActiveXObject
                  try {
                    // Try version supported by older versions of Internet Explorer
                    xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
                  } catch (e2) {
                    // Unable to create an XMLHttpRequest with ActiveX
                  }
            }    
          }
          return xmlreq;
    }
    function requestServer()

         req = newXMLHttpRequest();
        if(req)
        {
          getSubmitStr();
            var url = window.mainurl;//"http://127.0.0.1/test.php";
          req.onreadystatechange = processRequest;
          req.open("POST", url, true);
          req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
          req.send(postStr);  
        }
        else
        {
            alert('Cannot create XMLHTTP instance');
        } 
    }
    function processRequest()
    {
        if(req.readyState==4)
        {
            if(req.status==200)
            {
                parseMessages();
            }
            else
            {
                
                //alert(req.status);
            }
        }
    }
    function parseMessages()
    {
        divObj.innerHTML = req.responseText;
    }
    function report()
    {
        divObj = document.getElementById("reportDiv");
        divObj.innerHTML = "<table width=\"100%\" height=\"500\" ><tr><td valign=\"middle\" align=\"center\">loading...</td></tr></table>";     
        requestServer();
    }
    function getSubmitStr()
    {
        postStr = "";
        var inputs = document.getElementsByTagName("INPUT");
        if(inputs.length > 0)
        {
            for(i=0; i<inputs.length; i++)
            {
                switch(inputs[i].type.toUpperCase())
                {
                    case 'HIDDEN':
                    case 'TEXT':
                        postStr += "&" + inputs[i].name + "=" + encodeURI(inputs[i].value);
                        break;
                    case 'RADIO':    
                    case 'CHECKBOX':
                        if(inputs[i].checked)
                        {
                            postStr += "&" + inputs[i].name + "=" + encodeURI(inputs[i].value);
                        }
                        break;
                }
            }
        }
        
        var sls = document.getElementsByTagName("SELECT");
        if(sls.length > 0)
        {
            for(i=0; i<sls.length; i++)
            {
                postStr += "&" + sls[i].name + "=" + encodeURI(sls[i].value);
            }
        }    
    }/* 
    function show(obj)
    {
        if(obj.value!='' && obj.value!='0') 
        {
            report();
        }
        else
        {
            $('reportDiv').innerHTML='';
        }
    }
    */ 
    -->
    </script>
    <body>
    <form action="" method="post" name="form1" target="_self">
    <table width="95%" cellpadding="4" cellspacing="5" align="center">    
        <tr>
            <td height="50" align="center" class="selectTitle"><strong>Report</strong></td>
        </tr>
        <tr>
            <td width="600" align="left" class="selectTitle">
                <select id="number" name="number" class="select" onChange="javascript:report();">
                <option value="0" selected> -- Select -- </option>
                <option value="1"> One </option>
                <option value="2"> Two </option>
                <option value="3"> Three </option>
                </select>     
            </td>
        </tr>        
    </table>
    </form>
    <form action="" method="post" name="form2" target="_self">
    <table width="95%" cellpadding="4" cellspacing="5" boder=1 align="center">
        <tr><td>
        <div id="reportDiv" align="left"></div>
        </td></tr>
    </table>
    </form>
    </body>
    </html>
    http://127.0.0.1/test.php: 
    PHP code
    <?
    print_r($_REQUEST);
    ?>
      

  2.   


    的确,创建XMLHttpRequest对象时,需要考虑针对不同的浏览来进行。织梦的注册功能,在验证用户名是否已被注册时,就使用了ajax技术。
      

  3.   

    谢谢大家的回复哈。现在在研究jQuery。有心得了和大家一起分享。