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 相关文章推荐
php上传、管理照片示例
Oct 09 PHP
php 友好URL的实现(吐血推荐)
Oct 04 PHP
DedeCMS 核心类TypeLink.class.php摘要笔记
Apr 07 PHP
Joomla下利用configuration.php存储简单数据
May 19 PHP
ThinkPHP3.1新特性之对Ajax的支持更加完善
Jun 19 PHP
php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
Nov 06 PHP
php跨服务器访问方法小结
May 12 PHP
php简单生成随机数的方法
Jul 30 PHP
PHP插件PHPMailer发送邮件功能
Feb 28 PHP
Yii2下点击验证码的切换实例代码
Mar 14 PHP
PHP一个简单的无需刷新爬虫
Jan 05 PHP
2020最新版 PhpStudy V8.1版本下载安装使用详解
Oct 30 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
php md5下16位和32位的实现代码
2008/04/09 PHP
PHP中用接口、抽象类、普通基类实现“面向接口编程”与“耦合方法”简述
2011/03/23 PHP
PHP中的按位与和按位或操作示例
2014/01/27 PHP
laravel容器延迟加载以及auth扩展详解
2015/03/02 PHP
php使用mysqli向数据库添加数据的方法
2015/03/20 PHP
php中使用sftp教程
2015/03/30 PHP
php简单的上传类分享
2016/05/15 PHP
php源码的使用方法讲解
2019/09/26 PHP
JS 页面自动加载函数(兼容多浏览器)
2009/05/18 Javascript
获取网站跟路径的javascript代码(站点及虚拟目录)
2009/10/20 Javascript
调试Javascript代码(浏览器F12及VS中debugger关键字)
2013/01/25 Javascript
js和jquery实现监听键盘事件示例代码
2020/06/24 Javascript
JavaScript中获取纯正的undefined的方法
2016/03/06 Javascript
jQuery电话号码验证实例
2017/01/05 Javascript
详解vue-router2.0动态路由获取参数
2017/06/14 Javascript
nodejs结合Socket.IO实现的即时通讯功能详解
2018/01/12 NodeJs
页面点击小红心js实现代码
2018/05/26 Javascript
Bootstrap Table中的多选框删除功能
2018/07/15 Javascript
浅谈redux, koa, express 中间件实现对比解析
2019/05/23 Javascript
layerui代码控制tab选项卡,添加,关闭的实例
2019/09/04 Javascript
Vue中fragment.js使用方法小结
2020/02/17 Javascript
vue中用 async/await 来处理异步操作
2020/07/18 Javascript
[08:08]DOTA2-DPC中国联赛2月28日Recap集锦
2021/03/11 DOTA
浅谈Python单向链表的实现
2015/12/24 Python
Tensorflow卷积神经网络实例进阶
2018/05/24 Python
python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案
2020/02/18 Python
Python找出列表中出现次数最多的元素三种方式
2020/02/24 Python
Django CBV模型源码运行流程详解
2020/08/17 Python
小学优秀教师材料
2014/12/15 职场文书
毕业生自荐材料范文
2014/12/30 职场文书
2015年党支部公开承诺书
2015/01/22 职场文书
西安导游词
2015/02/12 职场文书
监守自盗观后感
2015/06/10 职场文书
导游词之白茶谷九龙峡
2019/10/23 职场文书
HTML基础详解(上)
2021/10/16 HTML / CSS
Java线程的6种状态与生命周期
2022/05/11 Java/Android