ajax简单案例:字符串返回类型

小知识点:

implode("^",$v)    拼数组为字符串,

split/explode("|")    拆字符串为数组;

"你好"->"你"+aa+"好";  

例子:要求用ajax实现如下效果

ajax简单案例:字符串返回类型

主页代码:

<body>
<!--ajax访问数据库返回类型为字符串-->
<select id="aa">
</select>
</body>
</html>
<script language="javascript">
$(document).ready(function(e) {
    $.ajax({
        url:"chuli.php",
        typeData:"TEXT",
        success:function(data){
            //将返回值以数组元素输出
            var hang=data.split("|");//根据|拆分字符串为数组,在这里hang可看成二维数组也可看成一维数组
            var str="";
            for(var k in hang)//foreach遍历数组
            {
                var lie=hang[k].split("^");//k为索引,php中k为数组元素
                str=str+"<option value='"+lie[0]+"'>"+lie[1]+"</option>";    
                }
            $("#aa").html(str);
                
            /*var s="";    
            for(var i=0;i<hang.length;i++)
            {
                var lie=hang[i].split("^");    
                s=s+"<option value='"+lie[0]+"'>"+lie[1]+"</option>";
                }
                $("#aa").html(s);*///找到jquery对象把s的html元素扔进去,若是text(),只是扔纯文本
            }
        })
});

</script>

处理页面:

<?php
include ("../dbda.class.php");
$dx=new DBDA();
$sql="select * from nation";
$attr=$dx->query($sql);
//返回字符串
$str="";
foreach($attr as $v)//遍历二维数组为一维数组
{    
    $str=$str.implode("^",$v);//把一维数组每一列元素拼成一行字符串
    $str=$str."|";
}//每循环一次就执行一次循环体,这点for循环和foreach遍历数组是想通的。
$str=substr($str,0,strlen($str)-1);
echo $str;