zl程序教程

您现在的位置是:首页 >  后端

当前栏目

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

方法AJAX数据JSONJSON 使用 thinkphp 接收
2023-06-13 09:15:37 时间

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

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

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

复制代码代码如下:
functionajax(id,pic){
   //由于ThinkPHP不解析JavaScript里的ThinkPHP常量,所以需要先在这里定义。
varURL="__URL__";
       $.ajax({
           url:URL+"/returnAjax/id/"+id,//提交访问的URL
           type:"GET",//提交的方法
           dataType:"text",//返回的内容的类型,由于PHP文件是直接echo的,那么这里就是text
           timeout:1000,//超时时间
           error:function(){//如果出错,执行函数
               alert("ErrorloadingXMLdocument");
           },
           success:function(data){
               //alert(data);//如果成功,弹出数据
               writeHtml(data,pic);
           }
       });
}
functionwriteHtml(data,pic){
   varproduct=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格式

复制代码代码如下:
publicfunctionreturnAjax(){ 
       $id=$_GET["id"]; 
       $Product=D("Product")->where("id=".$id)->find(); 
       //返回一个json格式的数据集 
       echojson_encode($Product); 
//print_r(json_encode($Product)); 
}

返回的数据格式如下:

复制代码代码如下:  
{
   "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"
}

PS:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用:

在线json压缩/转义工具:

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。