使用原生ajax处理json组成的数组

Posted Gabriel_wei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用原生ajax处理json组成的数组相关的知识,希望对你有一定的参考价值。

和前一篇文章一样,直接上代码了,只是做个记录。

  1. 数据的提供页面,tigong.php
    <?php
    header("content-type:text/html;charset=utf-8");
    echo ‘[{"name":"黎明","age":"12","sex":"男"},{"name":"小红","age":"12","sex":"女"},{"name":"增益","age":"22","sex":"男"}]‘;
    ?>

     

  2. 使用eval得方法处理
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <script type="text/javascript">
            window.onload=function(){
                var div1=document.getElementById("div1");
                var bt1=document.getElementById("bt1");
                bt1.onclick=function(){
                    //创建ajax对象,写兼容
                    if(window.XMLHttpRequest){
                        var xmlHttp=new XMLHttpRequest();
                    }else{
                        var xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
                    };
                    //获取要发送的数据,我们这个例子没有
                    //设置发送数据的地址和方法
                    xmlHttp.open("POST","tigongjson.php");
                    //设置我们的请求头信息
                    xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
                    //绑定onreadystatechange事件
                    xmlHttp.onreadystatechange=function(){
                        if(xmlHttp.readyState==4 && xmlHttp.status==200){
                            var data=xmlHttp.responseText;
                            //json字符串转换成为json对象
                            data=eval("("+data+")");
                            var str="";
                            for(var i=0;i<data.length;i++){
                                str+="姓名"+data[i].name+"<br>";
                                str+="年龄"+data[i].age+"<br>";
                                str+="性别"+data[i].sex+"<br>";
                                };
                                div1.innerHTML=str;
                        };
                    };
                    //发送数据
                    xmlHttp.send();
                };
            };
        </script>
        <style type="text/css">
            #div1{
                width:200px;
                height:200px;
                background:#f00;
                color:#fff;
            }
            img{
                width:200px;
            }
        </style>
        <title>Document</title>
    </head>
    <body>
        <div id="div1">
            <img src="../php2/images/1.gif">
        </div>
        <br>
        <button id="bt1">点击获取json数据</button>
    </body>
    </html>

     



  3. 使用JSON.parse()方法进行处理
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <script type="text/javascript">
            window.onload=function(){
                var div1=document.getElementById("div1");
                var bt1=document.getElementById("bt1");
                bt1.onclick=function(){
                    //创建ajax对象,写兼容
                    if(window.XMLHttpRequest){
                        var xmlHttp=new XMLHttpRequest();
                    }else{
                        var xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
                    };
                    //获取要发送的数据,我们这个例子没有
                    //设置发送数据的地址和方法
                    xmlHttp.open("POST","tigongjson.php");
                    //设置我们的请求头信息
                    xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
                    //绑定onreadystatechange事件
                    xmlHttp.onreadystatechange=function(){
                        if(xmlHttp.readyState==4 && xmlHttp.status==200){
                            var data=xmlHttp.responseText;
                            //json字符串转换成为json对象
                            data=JSON.parse(data);
                            var str="";
                            for(var i=0;i<data.length;i++){
                                str+="姓名:"+data[i].name+"<br>";
                                str+="年龄:"+data[i].age+"<br>";
                                str+="性别:"+data[i].sex+"<br>";
                                };
                            div1.innerHTML=str;
                        };
                    };
                    //发送数据
                    xmlHttp.send();
                };
            };
        </script>
        <style type="text/css">
            #div1{
                width:200px;
                height:200px;
                background:#f00;
                color:#fff;
            }
            img{
                width:200px;
            }
        </style>
        <title>Document</title>
    </head>
    <body>
        <div id="div1">
            <img src="../php2/images/1.gif">
        </div>
        <br>
        <button id="bt1">点击获取json数据</button>
    </body>
    </html>

     






以上是关于使用原生ajax处理json组成的数组的主要内容,如果未能解决你的问题,请参考以下文章

原生的js写Ajax请求

PHP在不使用数组的情况下触发AJAX错误代码

最详细的原生js实现ajax的封装

jQuery ajax 传递JSON数组到Spring Controller

如何正确运用PHP json

java中把json怎么转换成数组