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 相关文章推荐
实现“上一页”和“下一页按钮
Oct 09 PHP
可定制的PHP缩略图生成程式(需要GD库支持)
Mar 06 PHP
php入门教程 精简版
Dec 13 PHP
PHP使用imagick读取PDF生成png缩略图的两种方法
Mar 20 PHP
ThinkPHP实现二级循环读取的方法
Nov 03 PHP
Yii不依赖Model的表单生成器用法实例
Dec 04 PHP
php+jQuery.uploadify实现文件上传教程
Dec 26 PHP
php打印一个边长为N的实心和空心菱型的方法
Mar 02 PHP
php实现zip文件解压操作
Nov 03 PHP
php通过smtp邮件验证登陆的方法
May 11 PHP
thinkPHP框架自动填充原理与用法分析
Apr 03 PHP
PHP实现微信提现(企业付款到零钱)
Aug 01 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
用mysql内存表来代替php session的类
2009/02/01 PHP
PHP 登录记住密码实现思路
2013/05/07 PHP
php像数组一样存取和修改字符串字符
2014/03/21 PHP
PHP闭包函数详解
2016/02/13 PHP
php 读取输出其他文件的实现方法
2016/07/26 PHP
疯掉了,尽然有js写的操作系统
2007/04/23 Javascript
JS类的封装及实现代码
2009/12/02 Javascript
jQuery数组处理方法汇总
2011/06/20 Javascript
jQuery的load()方法及其回调函数用法实例
2015/03/25 Javascript
Websocket协议详解及简单实例代码
2016/12/12 Javascript
JS实现的简单表单验证功能示例
2017/10/13 Javascript
基于vue2.0动态组件及render详解
2018/03/17 Javascript
vue弹窗消息组件的使用方法
2020/09/24 Javascript
javascript标准库(js的标准内置对象)总结
2018/05/26 Javascript
python文件和目录操作函数小结
2014/07/11 Python
全面分析Python的优点和缺点
2018/02/07 Python
使用Python的Django和layim实现即时通讯的方法
2018/05/25 Python
Python编程图形库之Pillow使用方法讲解
2018/12/28 Python
python pyinstaller 加载ui路径方法
2019/06/10 Python
python列表每个元素同增同减和列表元素去空格的实例
2019/07/20 Python
Python学习笔记之Zip和Enumerate用法实例分析
2019/08/14 Python
Django REST Framework之频率限制的使用
2019/09/29 Python
下载官网python并安装的步骤详解
2019/10/12 Python
PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
2020/04/15 Python
python 实现PIL模块在图片画线写字
2020/05/16 Python
python新手学习可变和不可变对象
2020/06/11 Python
Python远程方法调用实现过程解析
2020/07/28 Python
python -v 报错问题的解决方法
2020/09/15 Python
html5视频常用API接口的实战示例
2020/03/20 HTML / CSS
利用Node实现HTML5离线存储的方法
2020/10/16 HTML / CSS
Rockport乐步美国官网:风靡美国的白宫鞋
2016/11/24 全球购物
加拿大国民体育购物网站:National Sports
2018/11/04 全球购物
副总经理工作职责
2013/11/28 职场文书
新浪微博实习心得体会
2014/01/27 职场文书
房产委托公证书
2014/04/08 职场文书
四群教育工作总结
2015/08/10 职场文书