1.   /**
  2. * ----------------------------------------------
  3. * 操作成功跳转的快捷方法
  4. * @access protected
  5. * @param string $message 提示信息
  6. * @param string $jumpUrl 页面跳转地址
  7. * @param mixed $ajax 是否为Ajax方式 当数字时指定跳转时间
  8. * @return void
  9. * ----------------------------------------------
  10. */
  11. protected function success($message = '', $jumpUrl = '', $ajax = false)
  12. {
  13. $this->dispatchJump($message, true, $jumpUrl, $ajax);
  14. }
  15.  
  16. /**
  17. * ----------------------------------------------
  18. * 操作错误跳转的快捷方法
  19. * @access protected
  20. * @param string $message 错误信息
  21. * @param string $jumpUrl 页面跳转地址
  22. * @param mixed $ajax 是否为Ajax方式 当数字时指定跳转时间
  23. * @return void
  24. * -----------------------------------------------
  25. */
  26. protected function error($message = '', $jumpUrl = '', $ajax = false)
  27. {
  28. $this->dispatchJump($message, false, $jumpUrl, $ajax);
  29. }
  30.  
  31.    /**
  32. * ----------------------------------------------
  33. * 默认跳转操作 支持错误导向和正确跳转
  34. * 调用模板显示 默认为public目录下面的success页面
  35. * 提示页面为可配置 支持模板标签
  36. * @param string $message 提示信息
  37. * @param bool $code 状态
  38. * @param string $jumpUrl 页面跳转地址
  39. * @param mixed $ajax 是否为Ajax方式 当数字时指定跳转时间
  40. * @access private
  41. * @return void
  42. * ----------------------------------------------
  43. */
  44. private function dispatchJump($message, $code = true, $jumpUrl = '', $ajax = false)
  45. {
  46. $jumpUrl = !empty($jumpUrl) ? (is_array($jumpUrl) ? Url::toRoute($jumpUrl) : $jumpUrl) : '';
  47. if (true === $ajax || Yii::$app->request->isAjax) {// AJAX提交
  48. $data = is_array($ajax) ? $ajax : array();
  49. $data['message'] = $message;
  50. $data['code'] = $code;
  51. $data['url'] = $jumpUrl;
  52. $this->ajaxReturn($data);
  53. }
  54. // 成功操作后默认停留1秒
  55. $waitSecond = 3;
  56.  
  57. if ($code) { //发送成功信息
  58. $message = $message ? $message : '提交成功';// 提示信息
  59. // 默认操作成功自动返回操作前页面
  60. echo $this->renderFile(Yii::$app->params['action_success'], [
  61. 'message' => $message,
  62. 'waitSecond' => $waitSecond,
  63. 'jumpUrl' => $jumpUrl,
  64. ]);
  65. } else {
  66. $message = $message ? $message : '发生错误了';// 提示信息
  67. // 默认发生错误的话自动返回上页
  68. $jumpUrl = "javascript:history.back(-1);";
  69. echo $this->renderFile(Yii::$app->params['action_error'], [
  70. 'message' => $message,
  71. 'waitSecond' => $waitSecond,
  72. 'jumpUrl' => $jumpUrl,
  73. ]);
  74. }
  75. exit;
  76. }
  77.  
  78. /**
  79. * ------------------------------------------------
  80. * Ajax方式返回数据到客户端
  81. * @access protected
  82. * @param mixed $data 要返回的数据
  83. * @return void
  84. * ------------------------------------------------
  85. */
  86. protected function ajaxReturn($data)
  87. {
  88. // 返回JSON数据格式到客户端 包含状态信息
  89. header('Content-Type:application/json; charset=utf-8');
  90. echo json_encode($data);
  91.  
  92. exit;
  93. }

yii2自定义json格式success,error跳转的更多相关文章

  1. Nginx 高级配置-自定义json格式日志

    Nginx 高级配置-自定义json格式日志 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在大数据运维工作中,我们经常会使用flume,filebeat相关日志收集工具取收集日志 ...

  2. 自定义Json格式

    老铁们都知道,一般的json格式就是键值对格式,在一些特定的框架或者系统中,会用到自定义格式的json文件,假设我们要得到的特定格式json格式如下: {"A":"2&q ...

  3. JqGrid 自定义子表格 及 自定义Json 格式数据不展示

    项目第一次使用JqGrid ,发现功能强大,但由于对他不熟悉,也没有少走弯路,记录一下. 1.引用 <link href="~/Scripts/JqGrid/jqgrid/css/ui ...

  4. Django-choices字段值对应关系(性别)-MTV与MVC科普-Ajax发json格式与文件格式数据-contentType格式-Ajax搭配sweetalert实现删除确认弹窗-自定义分页器-批量插入-07

    目录 models 字段补充 choices 参数/字段(用的很多) MTV与MVC模型 科普 Ajax 发送 GET.POST 请求的几种常见方式 用 Ajax 做一个小案例 准备工作 动手用 Aj ...

  5. ECharts访问后台,JSON格式返回数据实例

    完成图 一.页面代码 <%@ page language="java" contentType="text/html; charset=UTF-8" pa ...

  6. ajax发送json格式与文件数据、django自带的序列化器(了解)

    上期内容回顾 聚合查询和分组查询 # 聚合查询 max min sum avg count # 查询关键字:aggregate from django.db.models import Max, Mi ...

  7. Gson实现自定义解析json格式

    客户端跟服务器交互的时候我们使用json实现 但是 在交互的时候除了传送json对象数据意外 我们还需要传输标志位等 比如我们现在的交互方式格式 对象 { "data": { &q ...

  8. $.ajax返回的JSON格式的数据后无法执行success的解决方法

    近段时间做项目,在项目使用了ajax技术,遇到了一个奇怪的问题:"$.ajax返回的JSON格式的数据无法执行success",代码是这样写的: 1 $.ajax({ 2 .. 3 ...

  9. Jquery Ajax的时候 老是返回到 error,是因为json格式不正规的原因

    Jquery Ajax的时候 老是返回到 error,是因为json格式不正规的原因: 怪不得不执行,原来我返回的是{success:true,id:1} 这种不规则的字符串,不是严格的json格式, ...

随机推荐

  1. 再谈AR中的图像识别算法

    之前在<浅谈移动平台创新玩法>简单的猜测了easyar中使用的图像识别算法,基于图片指纹的哈希算法的图片检索 .后再阿里引商大神的指点下,意识到图片检测只适用于静态图片的识别,只能做AR脱 ...

  2. Aladdin and the Flying Carpet

    Aladdin and the Flying Carpet https://cn.vjudge.net/contest/288520#problem/C It's said that Aladdin ...

  3. Gym - 101243F Vitamins(思维+并查集)

    题意 有三种药丸,白色W>红色R>蓝色B,给你m个约束条件,问你n个药丸的颜色,不能确定颜色输出‘?’ 题解 如果1<2<3,只要找到2就能确定1和3的颜色 如果2=4,只要确 ...

  4. TZOJ 3030 Courses(二分图匹配)

    描述 Consider a group of N students and P courses. Each student visits zero, one or more than one cour ...

  5. PLSQL连接Oracle数据库问题及详解

    一.Oracle数据库安装步骤参考:https://jingyan.baidu.com/article/363872eccfb9266e4aa16f5d.html 二.Oracle客户端安装:http ...

  6. cocoapods 更新本地仓库 pod setup/update 无限远程中断

    升级 cocoapods 无限远程中断:网络不好 试了很多解决方法: 1.替换源,2.设置下载速度,3.清空本地master仓库,4.删了本地的pod库,5.半夜3-5点更新,6.按照失败提示的 (p ...

  7. php使用fputcsv进行大数据的导出

    为了实验大数据的导出,我们这里先自已创建一张大表,表结构如下: CREATE TABLE `tb_users` ( `id` int(11) unsigned NOT NULL AUTO_INCREM ...

  8. 体验godaddy域名转入,添加A记录,及使用dnspod的NS

    有两个域名一直放在朋友那,这个朋友是个神人,经常换电话号码,联系非常不方便. 近日将域名转入到godaddy下面了,第一次做域名转移,很是好奇. 之前域名在21.cn注册的,朋友帮我申请域名转出后,2 ...

  9. 快速掌握Ajax-Ajax基础实例(Ajax返回Json在Java中的实现)

    (转)实例二:Ajax返回Json在Java中的实现 转自http://www.cnblogs.com/lsnproj/archive/2012/02/09/2341524.html#2995114 ...

  10. 原生和web交互jsbridge交互总结

    技术点:jsbridge. 一: 参数及其意义(代码意义结合支付项目) 二:主动请求原生参数与方法(sendapi) 参数1 判断接口类型 参数2 传递给原生的数据 参数3 回调函数,response ...