• ThinkPHP中使用ajax接收json数据的方法


    本文实例讲述了ThinkPHP中使用ajax接收json数据的方法。分享给大家供大家参考。具体分析如下:

    这里通过ThinkPHP+jquery实现ajax,扩展了下,写了个查询,前台代码如下:

    首先需要引入jquery.js,主要代码如下:

     1 function ajax(id,pic){
     2 
     3     //由于ThinkPHP不解析JavaScript里的ThinkPHP常量,所以需要先在这里定义。 
     4 
     5 var URL='__URL__';
     6 
     7         $.ajax({
     8 
     9             url: URL+'/returnAjax/id/'+id,//提交访问的URL
    10 
    11             type: 'GET',//提交的方法
    12 
    13             dataType: 'text',//返回的内容的类型,由于PHP文件是直接echo的,那么这里就是text
    14 
    15             timeout: 1000,//超时时间
    16 
    17             error: function(){ //如果出错,执行函数
    18 
    19                 alert('Error loading XML document');
    20 
    21             },
    22 
    23             success: function(data){
    24 
    25                 //alert(data);//如果成功,弹出数据
    26 
    27                 writeHtml(data,pic);
    28 
    29             }
    30 
    31         });
    32 
    33 }
    34 
    35 function writeHtml(data,pic){
    36 
    37     var product = eval('(' + data + ')'); //即使不引入json.js也可以转成json对象  
    38 
    39     //alert($("#cate_pic").attr("src"));
    40 
    41     $("#cate_pic").attr("src","../images/"+pic);
    42 
    43     $("#product_pic").attr("src","../Attachments/product/"+product.attachpath+"/"+product.attachthumb);
    44 
    45     $("#product_subject").html(product.subject);
    46 
    47     $("#product_content").html(product.content);
    48 
    49 }

    Product.class.php中使用echo输出,thinkphp中json_encode()方法可将对象自动转成json格式 

    public function returnAjax(){  
    
            $id = $_GET['id'];  
    
            $Product=D('Product')->where('id='.$id)->find();  
    
            //返回一个json格式的数据集  
    
            echo json_encode($Product);  
    
    //print_r(json_encode($Product));  
    
    }

    返回的数据格式如下:

       
    
    {
    
        "id":"9",
    
        "userid":"1",
    
        "cid":"10",
    
        "cid":"10",
    
        "subject":"1111",
    
        "color":"",
    
        "spec":"",
    
        "size":"",
    
        "keywords":"",
    
        "content":" 1111 ",
    
        "meno":"1111",
    
        "attachpath":"200903",
    
        "attachment":"49d1d86e68d31.png",
    
        "attachthumb":"49d1d86e68d31_thumb.png"
    
    }

    本文主要用于展示在后台的php处理文件和前台js文件之间的通信问题,通信的数据格式为json数据(键值对)。

    本文转载自脚本之家:http://www.jb51.net/article/58690.htm          觉得不错,拿来学习,希望对php感兴趣的朋友有所帮助。

  • 相关阅读:
    TCP/IP协议栈与数据包封装+TCP与UDP区别
    MySQL数据库优化总结
    MySQL存储引擎,锁,优化简述
    java实现常见查找算法
    Java的几种常见排序算法
    UML类图学习
    高性能的RTC服务器OpenFire
    常用的设计模式
    Swing JInternalFrame的使用
    Qt 模态与非模态
  • 原文地址:https://www.cnblogs.com/WuNaiHuaLuo/p/4768735.html
Copyright © 2020-2023  润新知