当前位置:首页 > CMS教程 > Thinkphp > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-05-04 13:00:27 浏览: 评论:0 

这篇文章主要介绍了ThinkPHP中使用ajax接收json数据的方法,包括了前台js代码与对应的PHP处理代码,非常具有实用价值,需要的朋友可以参考下

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

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

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

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

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

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

返回的数据格式如下:

  1.     "id":"9"
  2.     "userid":"1"
  3.     "cid":"10"
  4.     "cid":"10"
  5.     "subject":"1111"
  6.     "color":""
  7.     "spec":""
  8.     "size":""
  9.     "keywords":""
  10.     "content":"<p>1111</p>"
  11.     "meno":"1111"
  12.     "attachpath":"200903"
  13.     "attachment":"49d1d86e68d31.png"
  14.     "attachthumb":"49d1d86e68d31_thumb.png" 
  15. }

Tags: ThinkPHP接收json

分享到: