• jquery中ajax方法返回的三种数据类型:text、json、xml;


    1.当dataType:"text"时,处理页面用的是DBDA类中的Strquery()方法,所以返回的数据是下面这样的,所以要对返回来的数据用split根据“|”和“^”来分割,保存到数组,例子见三级联动

    2.当dataType:"json"时,处理页面使用DBDA类中的Guanquery()方法,所以返回的数据是下面这样的,json相当于关联数组,处理界面一般用Guanquery()

    以填充民族表为例

    显示页面代码

    <script src="jquery-1.11.2.min.js"></script>      //一定不要忘记引入
    </head>
    
    <body>
    <select id="nation">                              //造一个下来菜单,下面用jquery往里添加option
    </select>
    </body>
    </html>
    <script>
    $(document).ready(function(e) {
        $.ajax({
            url:"jsonchuli.php",
            dataType:"json",
            success:function(data)
            {
                alert(data);                        
                var str ="";
                    for(var i=0;i<data.length;i++)          //使用for循环,遍历返回的数据,下面用data.code和data.name,因为处理页面是调用的关联数组
                    {
                        str = str+"<option value='"+data[i].Code+"'>"+data[i].Name+"</option>";
                    }
                    
                    
                    
                    $("#nation").html(str);
    
                }
            });
    });
    
    </script>

    处理界面

    <?php
    include("DBDA.class.php");
    $db=new DBDA();
    $sql="select * from nation ";
    echo json_encode($db->GuanQuery($sql));        //用json_encode(),并且是调用返回关联数组的方法

    3.当dataType:"xml"时

     XML的特点:

    1.必须要有一个根
    2.标签名自定义
    3.对大小写敏感
    4.有开始就要有结束
    5.同一级别下只能有一个标签名

    <nation>
    <n1>
    <code>n001</code>
    <name>汉族</name>
    </n1>
    <n2>
    <code>n002</code>
    <name>回族</name>
    </n2>
    </nation>

    显示页面

    <select id="sel">
    </select>
    
    <script type="text/javascript">
    $.ajax({
            url:"xmlchuli.php",
            dataType:"XML",
            success: function(data){
                    
                    alert($(data).find("nation").attr("bs"));  //这是通过找nation标签,取它的ts属性
                    
                    var allcode = $(data).find("code");    //通过$(data).find();找到的是所有的code
                    var allname = $(data).find("name");    //通过$(data).find();找到的是所有的name
                    var str ="";
                    for(var i=0;i<allcode.length;i++)
                    {
                        var code = allcode.eq(i).text();     //把allcode每一项遍历给code
                        var name = allname.eq(i).text();
                        
                        str = str +"<option value='"+code+"'>"+name+"</option>";
                    }
                    
                    $("#sel").html(str);
                }
        });
    </script>

    处理页面

    <?php
    include("DBDA.class.php");
    $db = new DBDA();
    
    $sql = "select * from nation";
    
    $attr = $db->Query($sql);
    
    echo "<nation bs='1'>";   //还可以给标签设置属性
        
    foreach($attr as $k=>$v)
    {
        echo "<n{$k}><code>{$v[0]}</code><name>{$v[1]}</name></n{$k}>";
    }
        
    echo "</nation>";
  • 相关阅读:
    C# XML 文档注释
    大数据知识学习
    现在的人,买个钢铁做的车,每天擦,每周打蜡。可对自已的身体最应该保养的“车”,却从不养护
    Asp.net项目因Session阻塞导致页面打开速度变慢
    AvoidRepeatSubmit通过Javascript避免客户端重复提交请求
    Linux下Attansic L2 网卡驱动安装
    如果知道dll文件是面向32位系统还是面向64位系统的?
    整理C# 二进制,十进制,十六进制 互转
    连接Oracle时出现“System.AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”错误的问题
    [转]删除hbase表region块脚本
  • 原文地址:https://www.cnblogs.com/xingyue1988/p/6231154.html
Copyright © 2020-2023  润新知