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 开始 PHP 会话
Dec 21 PHP
php 什么是PEAR?(第二篇)
Mar 19 PHP
PHP 修复未正常关闭的HTML标签实现代码(支持嵌套和就近闭合)
Jun 07 PHP
PHP静态调用非静态方法的应用分析
May 02 PHP
smarty基础之拼接字符串的详解
Jun 18 PHP
PHP大批量插入数据库的3种方法和速度对比
Jul 08 PHP
php的mkdir()函数创建文件夹比较安全的权限设置方法
Jul 28 PHP
php中 ob_start等函数截取标准输出的方法
Jun 22 PHP
php 读取输出其他文件的实现方法
Jul 26 PHP
CakePHP框架Session设置方法分析
Feb 23 PHP
PHP用户管理中常用接口调用实例及解析(含源码)
Mar 09 PHP
详解php用static方法的原因
Sep 12 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选项与信息函数的使用详解
2013/05/10 PHP
解析阿里云ubuntu12.04环境下配置Apache+PHP+PHPmyadmin+MYsql
2013/06/26 PHP
JavaScript和JQuery实用代码片段(一)
2010/04/07 Javascript
js 图片等比例缩放代码
2010/05/13 Javascript
根据表格中的某一列进行排序的javascript代码
2013/11/29 Javascript
js确认删除对话框效果的示例代码
2014/02/20 Javascript
JavaScript实现大数的运算
2014/11/24 Javascript
jQuery回调函数的定义及用法实例
2014/12/23 Javascript
Highcharts学习之坐标轴
2016/08/02 Javascript
jQuery 获取遍历获取table中每一个tr中的第一个td的方法
2016/10/05 Javascript
js仿微信公众平台打标签功能
2017/04/08 Javascript
代码详解Vuejs响应式原理
2017/12/20 Javascript
解决axios发送post请求返回400状态码的问题
2018/08/11 Javascript
利用Vconsole和Fillder进行移动端抓包调试方法
2019/03/05 Javascript
vuex管理状态 刷新页面保持不被清空的解决方案
2019/11/11 Javascript
[14:21]VICI vs EG (BO3)
2018/06/07 DOTA
详解Python使用simplejson模块解析JSON的方法
2016/03/24 Python
python正则分析nginx的访问日志
2017/01/17 Python
python opencv实现任意角度的透视变换实例代码
2018/01/12 Python
Django中Forms的使用代码解析
2018/02/10 Python
Python简单生成随机数的方法示例
2018/03/31 Python
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
2018/07/27 Python
在Pycharm中对代码进行注释和缩进的方法详解
2019/01/20 Python
用Python实现将一张图片分成9宫格的示例
2019/07/05 Python
在tensorflow中实现去除不足一个batch的数据
2020/01/20 Python
Python查找不限层级Json数据中某个key或者value的路径方式
2020/02/27 Python
tensorflow图像裁剪进行数据增强操作
2020/06/30 Python
Python中logging日志记录到文件及自动分割的操作代码
2020/08/05 Python
Jupyter Notebook安装及使用方法解析
2020/11/12 Python
《我的伯父鲁迅先生》教学反思
2014/02/12 职场文书
幼儿发展评估方案
2014/06/11 职场文书
关于有小孩的离婚协议书
2014/10/26 职场文书
nginx配置proxy_pass中url末尾带/与不带/的区别详解
2021/03/31 Servers
nginx里的rewrite跳转的实现
2021/03/31 Servers
Java Socket实现多人聊天系统
2021/07/15 Java/Android
SpringBoot接入钉钉自定义机器人预警通知
2022/07/15 Java/Android