代码改变世界

Tp+json

2011-05-06 15:36  卫佳  阅读(240)  评论(0编辑  收藏  举报

Js代码  

function ajax(id,pic){  

    //由于ThinkPHP不解析JavaScript里的ThinkPHP常量,所以需要先在这里定义。  

var URL='__URL__';  

        $.ajax({  

            url: URL+'/returnAjax/id/'+id,//提交访问的URL  

            type: 'GET',//提交的方法  

            dataType: 'text',//返回的内容的类型,由于PHP文件是直接echo的,那么这里就是text  

            timeout: 1000,//超时时间  

            error: function(){ //如果出错,执行函数  

                alert('Error loading XML document');  

            },  

            success: function(data){  

                //alert(data);//如果成功,弹出数据  artificial flowers manufacturers

                writeHtml(data,pic);  

            }  

        });  

}   

function writeHtml(data,pic){  

    var product = eval('(' + data + ')'); //即使不引入json.js也可以转成json对象    

    //alert($("#cate_pic").attr("src"));  

    $("#cate_pic").attr("src","../images/"+pic);  

    $("#product_pic").attr("src","../Attachments/product/"+product.attachpath+"/"+product.attachthumb);  

    $("#product_subject").html(product.subject);  

    $("#product_content").html(product.content);  

}  

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

Php代码  

public function returnAjax(){  

        $id = $_GET['id'];  

        $Product=D('Product')->where('id='.$id)->find();  

        //返回一个json格式的数据集  

        echo json_encode($Product);  

//print_r(json_encode($Product));  replica handbags

    }  

 返回的数据格式如下:

Html代码  

{  

    "id":"9",  

    "userid":"1",  

    "cid":"10",  

    "cid":"10",  

    "subject":"1111",  

    "color":"",  

    "spec":"",  

    "size":"",  

    "keywords":"",  

    "content":"<p>1111</p>",  

    "meno":"1111",  

    "attachpath":"200903",  

    "attachment":"49d1d86e68d31.png",  

    "attachthumb":"49d1d86e68d31_thumb.png"  

}