ajax处理php返回json数据例子

时间:2022-10-16 19:23:19

 

/-----------test.html---------------/
<label onclick="javascript:post_data();">click </label>

function ajax_init()
{
    var ajax=false;
    try {
        ajax = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try {
            ajax = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (E) {
            ajax = false;
        }
    }
    if (!ajax && typeof XMLHttpRequest!='undefined') {
        ajax = new XMLHttpRequest();
    }
    return ajax;
}
function post_data()
{
    var url = "/server/xml.php";

    var show_check = document.getElementById("show_check");
    var show_flag = document.getElementById("show_flag");

    var ajax = ajax_init();
    ajax.open("GET", url, true);

    //var img = "<img src='/img/loading.gif'>";
    ajax.onreadystatechange = function()
    {
        if (ajax.readyState == 4 && ajax.status == 200)
        {
        var ret = ajax.responseText;
            var show_info = eval(ret);
            show_check.innerHTML = show_info[0].no1; // bsd
            show_flag.innerHTML = show_info[0].no2; // wuddy
            //alert("responseXML's value: " + info[0].firstChild.data);   
        }
       /*else
       {
          show.innerHTML = img;
       }*/
    }
    ajax.send(null);
}

 

/*------------json.php-----------------*/
<?php
   /* 这边如果写成     $info = array('no1'=>'bsd', 'no2'=>'wuddy', 'no3'=>'xie'); */
   /* 同样要把html文件中必成     var show_info = eval('[' + ret + ']'); 都是返回一个对象 */
    $info = array(array('no1'=>'bsd', 'no2'=>'wuddy', 'no3'=>'xie'));
    $userinfo = json_encode($info);
    echo $userinfo;
?>