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


Posted in PHP onDecember 18, 2014

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

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

首先需要引入jquery.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);//如果成功,弹出数据

                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));  

}

返回的数据格式如下:

   

{

    "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"

}
PHP 相关文章推荐
基于mysql的bbs设计(一)
Oct 09 PHP
攻克CakePHP系列一 连接MySQL数据库
Oct 22 PHP
php 显示指定路径下的图片
Oct 29 PHP
PHP查询数据库中满足条件的记录条数(两种实现方法)
Jan 29 PHP
Codeigniter的一些优秀特性总结
Jan 21 PHP
php使用Jpgraph绘制3D饼状图的方法
Jun 10 PHP
深入浅析PHP无限极分类的案例教程
May 09 PHP
php基于CodeIgniter实现图片上传、剪切功能
May 14 PHP
Thinkphp框架开发移动端接口(2)
Aug 18 PHP
php封装单文件上传到数据库(路径)
Oct 15 PHP
PHP聊天室简单实现方法详解
Dec 08 PHP
解决laravel中日志权限莫名变成了root的问题
Oct 17 PHP
2014最热门的24个php类库汇总
Dec 18 #PHP
ThinkPHP通过AJAX返回JSON的两种实现方法
Dec 18 #PHP
ThinkPHP内置jsonRPC的缺陷分析
Dec 18 #PHP
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
Dec 18 #PHP
php生成二维码时出现中文乱码的解决方法
Dec 18 #PHP
php判断文件上传类型及过滤不安全数据的方法
Dec 17 #PHP
php可生成缩略图的文件上传类实例
Dec 17 #PHP
You might like
Access数据库导入Mysql的方法之一
2006/10/09 PHP
fleaphp常用方法分页之Pager使用方法
2011/04/23 PHP
php中读写文件与读写数据库的效率比较分享
2013/10/19 PHP
PHP基于CURL进行POST数据上传实例
2014/11/10 PHP
PHP获取QQ达人QQ信息的方法
2015/03/05 PHP
PHP的时间戳与具体时间转化的简单实现
2016/06/13 PHP
php读取和保存base64编码的图片内容
2017/04/22 PHP
初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能
2011/12/26 Javascript
jQuery 下拉列表 二级联动插件分享
2012/03/29 Javascript
Javascript生成json的函数代码(可以用php的json_decode解码)
2012/06/11 Javascript
枚举的实现求得1-1000所有出现1的数字并计算出现1的个数
2013/09/10 Javascript
使用js显示当前时间示例
2014/03/02 Javascript
三种动态加载js的jquery实例代码另附去除js方法
2014/04/30 Javascript
JavaScript实现随机替换图片的方法
2015/04/16 Javascript
基于javascript实现listbox左右移动
2016/01/29 Javascript
JavaScript中removeChild 方法开发示例代码
2016/08/15 Javascript
Javascript 对cookie操作详解及实例
2016/12/29 Javascript
利用jQuery异步上传文件的插件用法详解
2017/07/19 jQuery
Vue异步组件处理路由组件加载状态的解决方案
2018/09/07 Javascript
puppeteer实现html截图的示例代码
2019/01/10 Javascript
利用JS代码自动删除稿件的普通弹幕功能
2019/09/20 Javascript
JavaScript运动原理基础知识详解
2020/04/02 Javascript
vue中使用router全局守卫实现页面拦截的示例
2020/10/23 Javascript
Python标准库os.path包、glob包使用实例
2014/11/25 Python
python登录豆瓣并发帖的方法
2015/07/08 Python
python urllib urlopen()对象方法/代理的补充说明
2017/06/29 Python
TensorFlow高效读取数据的方法示例
2018/02/06 Python
Python3使用pandas模块读写excel操作示例
2018/07/03 Python
实现Python与STM32通信方式
2019/12/18 Python
Python pyautogui模块实现鼠标键盘自动化方法详解
2020/02/17 Python
工程类专业自荐信范文
2014/03/09 职场文书
自我鉴定标准格式
2014/03/19 职场文书
篮球比赛策划方案
2014/06/05 职场文书
公司车辆管理制度
2015/08/04 职场文书
结婚喜宴迎宾词
2015/08/10 职场文书
三种方式清除vue路由跳转router-link的历史记录
2022/04/10 Vue.js