ajax返回数据类型 text json xml

<?php
 
class DBDA
{
    public $host = "localhost"; //服务器地址
    public $uid = "root"; //数据库的用户名
    public $pwd = ""; //数据库的密码
     
    //执行SQL语句,返回相应结果的函数
    //$sql是要执行的SQL语句
    //$type是SQL语句的类型,0代表增删改,1代表查询
    //$db代表要操作的数据库
    public function Query($sql,$type=1,$db="mydb")
    {
        //造连接对象
        $conn = new MySQLi($this->host,$this->uid,$this->pwd,$db);
         
        //判断连接是否成功
        !mysqli_connect_error() or die("连接失败!");
         
        //执行SQL语句
        $result = $conn->query($sql);
         
        //判断SQL语句类型
        if($type==1)
        {
            //如果是查询语句返回结果集的二维数组
            return $result->fetch_all();
        }
        else
        {
            //如果是其他语句,返回true或false
            return $result;
        }
    }
     
    //Ajax调用返回JSON
    public function JsonQuery($sql,$type=1,$db="mydb")
    {
        //定义数据源
        $dsn = "mysql:dbname={$db};host={$this->host}";
        //造pdo对象
        $pdo = new PDO($dsn,"{$this->uid}","{$this->pwd}");
 
         
        //准备执行SQL语句
        $st = $pdo->prepare($sql);
         
        //执行预处理语句
        if($st->execute())
        {
            if($type==1)
            {
                $attr = $st->fetchAll(PDO::FETCH_ASSOC);
                return json_encode($attr);
            }
            else
            {
                if($st)
                {
                    return "OK";
                }
                else
                {
                    return "NO";
                }
            }
             
        }
        else
        {
            echo "执行失败!";
        }
 
 
 
    }
    //Ajax调用返回字符串
    public function StrQuery($sql,$type=1,$db="mydb")
    {
        //造连接对象
        $conn = new MySQLi($this->host,$this->uid,$this->pwd,$db);
         
        //判断连接是否成功
        !mysqli_connect_error() or die("连接失败!");
         
        //执行SQL语句
        $result = $conn->query($sql);
         
        //判断SQL语句类型
        if($type==1)
        {
            $attr = $result->fetch_all();
            $str = "";
            //如果是查询语句返回字符串
            for($i=0;$i<count($attr);$i++)
            {
                for($j=0;$j<count($attr[$i]);$j++)
                {
                    $str = $str.$attr[$i][$j];
                    $str = $str."^";
                }
                $str = substr($str,0,strlen($str)-1);
                $str = $str."|";
            }
            $str = substr($str,0,strlen($str)-1);
             
            return $str;
        }
        else
        {
            //如果是其他语句,返回true或false
            if($result)
            {
                return "OK";
            }
            else
            {
                return "NO";
            }
        }
    }
     
     
}
<?php
 
class DBDA
{
    public $host = "localhost"; //服务器地址
    public $uid = "root"; //数据库的用户名
    public $pwd = "123"; //数据库的密码
     
    //执行SQL语句,返回相应结果的函数
    //$sql是要执行的SQL语句
    //$type是SQL语句的类型,0代表增删改,1代表查询
    //$db代表要操作的数据库
    public function Query($sql,$type=1,$db="mydb")
    {
        //造连接对象
        $conn = new MySQLi($this->host,$this->uid,$this->pwd,$db);
         
        //判断连接是否成功
        !mysqli_connect_error() or die("连接失败!");
         
        //执行SQL语句
        $result = $conn->query($sql);
         
        //判断SQL语句类型
        if($type==1)
        {
            //如果是查询语句返回结果集的二维数组
            return $result->fetch_all();
        }
        else
        {
            //如果是其他语句,返回true或false
            return $result;
        }
    }
     
    //Ajax调用返回JSON
    public function JsonQuery($sql,$type=1,$db="mydb")
    {
        //定义数据源
        $dsn = "mysql:dbname={$db};host={$this->host}";
        //造pdo对象
        $pdo = new PDO($dsn,"{$this->uid}","{$this->pwd}");
 
         
        //准备执行SQL语句
        $st = $pdo->prepare($sql);
         
        //执行预处理语句
        if($st->execute())
        {
            if($type==1)
            {
                $attr = $st->fetchAll(PDO::FETCH_ASSOC);
                return json_encode($attr);
            }
            else
            {
                if($st)
                {
                    return "OK";
                }
                else
                {
                    return "NO";
                }
            }
             
        }
        else
        {
            echo "执行失败!";
        }
 
 
 
    }
    //Ajax调用返回字符串
    public function StrQuery($sql,$type=1,$db="mydb")
    {
        //造连接对象
        $conn = new MySQLi($this->host,$this->uid,$this->pwd,$db);
         
        //判断连接是否成功
        !mysqli_connect_error() or die("连接失败!");
         
        //执行SQL语句
        $result = $conn->query($sql);
         
        //判断SQL语句类型
        if($type==1)
        {
            $attr = $result->fetch_all();
            $str = "";
            //如果是查询语句返回字符串
            for($i=0;$i<count($attr);$i++)
            {
                for($j=0;$j<count($attr[$i]);$j++)
                {
                    $str = $str.$attr[$i][$j];
                    $str = $str."^";
                }
                $str = substr($str,0,strlen($str)-1);
                $str = $str."|";
            }
            $str = substr($str,0,strlen($str)-1);
             
            return $str;
        }
        else
        {
            //如果是其他语句,返回true或false
            if($result)
            {
                return "OK";
            }
            else
            {
                return "NO";
            }
        }
    }
     
     
}

返回类型为json

<script type="text/javascript">

$(document).ready(function(e) {
    
    $.ajax({
        url:"chuli.php",
        data:{},
        dataType:"JSON",
        type:"POST",
        success: function(data){

            /*    for(key in data)
                {
                    alert(data[key].Name);
                }*/
                
                for(var i=0;i<data.length;i++)
                {
                    alert(data[i].Name);
                }

            }
        
        });
    
    
    
});


</script>

处理页面

<?php
2 
3 include("DBDA.php");
4 $db = new DBDA();
5 
6 $sql = "select * from Nation";
7 
8 echo $db->JsonQuery($sql);

返回类型为text就调用DBDA里的返回字符串的方法

返回类型为xml

<script type="text/javascript">

$(document).ready(function(e) {
   
    $.ajax({
        url:"chulixml.php",
        data:{},
        dataType:"XML",
        type:"POST",
        success: function(data){

            alert($(data).find("Name").eq(0).text());//eq(1)时就查处理页面的n2
            
            }
        
        });
    
    
    
});


</script>
<script type="text/javascript">

$(document).ready(function(e) {
   
    $.ajax({
        url:"chulixml.php",
        data:{},
        dataType:"XML",
        type:"POST",
        success: function(data){

            alert($(data).find("Name").eq(0).text());//eq(1)时就查处理页面的n2
            
            }
        
        });
    
    
    
});


</script>

处理页面

<?php

$str = <<<AA
    <Info>
        <n1>
            <Code>n001</Code>
            <Name>张三</Name>
            <Sex>男</Sex>
        </n1>
        <n2>
            <Code>n002</Code>
            <Name>李四</Name>
            <Sex>女</Sex>
        </n2>
    </Info>
AA;

echo $str;

?>
<?php

$str = <<<AA
    <Info>
        <n1>
            <Code>n001</Code>
            <Name>张三</Name>
            <Sex>男</Sex>
        </n1>
        <n2>
            <Code>n002</Code>
            <Name>李四</Name>
            <Sex>女</Sex>
        </n2>
    </Info>
AA;

echo $str;

?>
原文地址:https://www.cnblogs.com/baozhaba-xianchong/p/5376725.html