thinkphp中使用ajax接收json数据
考thinkphp+jquery实现ajax,扩展了下,写了个查询,前台代码如下:
需要引入jquery.js,下载地址http://jquery.com
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);//如果成功,弹出数据 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格式
public function returnAjax(){ $id = $_GET['id']; $Product=D('Product')->where('id='.$id)->find(); //返回一个json格式的数据集 echo json_encode($Product); //print_r(json_encode($Product)); }
返回的数据格式如下:
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" }
相关推荐
chongxiaocheng 2020-08-16
ppsurcao 2020-06-14
kentrl 2020-11-10
结束数据方法的参数,该如何定义?-- 集合为自定义实体类中的结合属性,有几个实体类,改变下标就行了。<input id="add" type="button" value="新增visitor&quo
ajaxyan 2020-11-09
zndy0 2020-11-03
学留痕 2020-09-20
Richardxx 2020-11-09
learningever 2020-09-19
ajaxhe 2020-08-16
lyqdanang 2020-08-16
curiousL 2020-08-03
TONIYH 2020-07-22
时光如瑾雨微凉 2020-07-19
83510998 2020-07-18
坚持着执着 2020-07-16
jiaguoquan00 2020-07-07
李永毅 2020-07-05