yii2_方便地返回Json

{
    msg : ‘返回消息‘,
    status : 自定义响应代码,
    data : ‘‘,
}

方法1

namespace app\lib;

class Response extends \yii\web\Response{
    public function alert($message, $code = 1, $data = null){
        $this->format = self::FORMAT_JSON;
        $this->data = [
            ‘message‘ => $message,
            ‘code‘ => $code,
            ‘data‘ => $data
        ]
        return $this;
    }
}

//修改response组件的配置后,就可以这样调用了嘛
return Yii::$app->response->alert(‘余额不足‘);

方法2

‘response‘ => [
    ‘on beforeSend‘ => function($event){
        $response = $event->sender;
        if(
                $response->format != \yii\web\Response::FORMAT_JSON //没设定format为JSON
            &&    is_array($response->data) //数组
        ){
            $data = $response->data;
            $response->data = [
                ‘message‘ => $data[0],
                ‘code‘ => isset($data[1]) ? $data[1] : 0,
                ‘data‘ => isset($data[2]) ? $data[2] : ‘‘,
            ];
            $response->format = \yii\web\Response::FORMAT_JSON;
        }
    }
],

//于是action可以这样用:
return [‘余额不足‘];

return [‘操作成功!‘, 0];

return [‘搜索结果‘, 0, $dataList];

return $this->render(‘xxx‘); //此时返回的是string,beforeSend里有is_array的判断,所以不会影响模板的输出
时间: 2024-08-06 17:19:36

yii2_方便地返回Json的相关文章

【Struts2】SSH如何返回JSON数据

  在开发中我们经常遇到客户端和后台数据的交互,使用比较多的就是json格式了.在这里以简单的Demo总结两种ssh返回Json格式的数据 项目目录如下 主要是看 上图选择的部分 WebRoot里面就是平常的配置 第一种方法是使用com.google.gson.Gson 将对象转化为Json字符串  (gson-1.6.jar) 主要的代码如下 1 package com.javen.tool; 2 3 import java.io.IOException; 4 import java.io.P

PHP返回JSON

最近自己做的WebApp想用php做后台,用json的方式返回数据. 开始的时候直接在后台使用 <?php //... echo '{"result":true,"info":""}'; ?> 形式返回,前台Ajax制定返回数据类型为"json". 发现这样根本不行,查了下资料.php返回json要有json_encode() 于是改成下面这样 <?php //... echo json_encode('{&

CoAP学习笔记——nodeJS node-coap返回JSON数据包

0 前言 本文说明如何使用node-coap返回JSON数据包.CoAP是专门为物联网系统开发的面向网络的应用层协议栈,CoAP建立在UDP协议之上尽可能减少网络开销,又具有HTTP Restful类型的特性.node-coap使用nodejs实现了coap的客户端和服务器端. [测试环境]--ubuntu/Linux [相关博文] [CoAP协议文档--The Constrained Application Protocol (CoAP)] [CoAP协议学习--CoAP基础] [CoAP学习

struts返回json数据

想要在struts中返回json格式数据有两种办法. 1.使用servlet的输出流 实际上就是在struts中获取response对象的输出流.然后写入你要返回的json数据,本质和用servlet返回json数据是一样的,需要自己导入json的jar包.不做详细介绍. 2.试用struts对json的扩展 这里需要两个jar包,xwork-core-2.1.6.jar和struts2-json-plugin-2.1.8.jar.如果是用MyEclipse注入的struts环境就不需要手动了.

idea+springmvc+spring+mybatis+maven整合返回json数据webapi

首先看一张目录结构图: : 创建步骤: 1.创建maven  webapp工程, 创建完后的目录结构为: 2.添加项目依赖(添加jar包) 需要的jar包: spring-webmvc, spring-test, spring-orm, commons-dbcp, mybatis, mybatis-spring, mysql-connector-java, commons-fileupload, jstl,jackson-core, jackson-databind, jackson-mappe

PHP-------ajax返回值 返回JSON 数据

ajax返回值  返回JSON  数据 ajax返回值 有text   JSON ajax返回值  返回JSON  数据 1 <title>无标题文档</title> 2 <script src="../jquery-1.11.2.min.js"> 3 </script> 4 5 <!--ajax返回值 有text JSON--> 6 <!--ajax返回值 返回JSON 数据--> 7 8 9 10 11 <

Ajax调用返回json,xml数据类型(0517--pm)

一.返回Json型数据: 1.主页面 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <met

JQuery处理json与ajax返回JSON实例[转]

json数据是一种经型的实时数据交互的数据存储方法,使用到最多的应该是ajax与json配合使用了,下面我来给大家介绍jquery处理json数据方法. 一.JSON的一些基础知识. JSON中对象通过“{}”来标识,一个“{}”代表一个对象,如{“AreaId”:”123”},对象的值是键值对的形式(key:value). “[]”,标识数组,数组内部各个数据之间通过“,”分割,如[“AreaId”:”123”,”AreaId”:”345”]. 很多情况下是对象数组,那就是这样:  代码如下

Atitit.列表页and查询条件的最佳实践(1)------设定搜索条件and提交查询and返回json数据

Atitit.列表页and查询条件的最佳实践(1)------设置查询条件and提交查询and返回json数据 1. 1.?配置条件字段@Conditional 1 1 2. 2.?配置条件字段显示类型为[email protected](displayType?=?displayType.rang,?rangStart?=?rang.start,?rangEnd?=?rang.end,op=op.range) 1 3. #----show  condition  page  list 1 4.