使用 Zend Action Helper ContextSwitch 创建自定义 JSON 响应对象

2023-11-26

我通常将编码的 json 对象附加到响应正文,但是现在我遇到了需要使用 ContextSwitch 操作助手的情况。

我有一个 Zend_Form 需要三个不同的响应上下文:

  1. html- 将表单渲染为普通 html 在布局内。
  2. html 部分- 渲染的ajax“获取”请求 只是 html 形式。
  3. json- 返回的 ajax“post”请求 任何表单验证错误消息。

对于每个上下文,我有 3 个视图脚本。虽然两个 html 上下文可以使用相同的视图脚本,但我还没有弄清楚这是否可能。

  • 表单.phtml
  • 表单.html.phtml
  • 表单.json.phtml

html 上下文视图工作正常,但 json 视图没有被拾取。覆盖默认 json post 回调行为或将自定义编码对象传递到响应正文的最佳方法是什么?


就我个人而言,我不使用“View”来生成 JSON 内容。 在我的init(),我有这样的东西:

$ajaxContext = $this->_helper->getHelper('AjaxContext');
$ajaxContext->setAutoJsonSerialization(false)
    ->addActionContext('index', array('html', 'json'))
    ->initContext();

而在我的indexAction():

if ( true === $this->isAjaxJson() ) {
    $this->_helper->json(
        array(
            'response' => $myResponse,
            'message' => $myMesage
        )
    );
    return;
}

希望这有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Zend Action Helper ContextSwitch 创建自定义 JSON 响应对象 的相关文章

  • 如何在 标签中用 %20 替换空格

    我想替换 html 文本的图像标签中的所有空格 Example img src to img src photo 201 jpg 我没有找到 preg replace 的解决方案 但它可能是一个简单的正则表达式行 谢谢 Edit 抱歉各位
  • jquery javascript 从 JSON 对象中删除对象数据

    我有 JSON 对象 看起来像下面的对象 这个对象可以持续几天 所以我想知道我是否可以删除完整的集合 相当于下面示例中的位置 0 或位置 1 我必须首先迭代该对象并尝试找出哪个是哪个 假设我要删除邮政编码为 06238 的集合 我需要运行整
  • 在 symfony2 中为特定控制器设置 max_execution_time

    Using ini set 我可以扩展最大执行时间一个脚本的 在Symfony2 我可以添加ini set to web app php and web app dev php将增加的执行时间应用于所有控制器 但在这种情况下 我只想扩展最大
  • 如何从 Laravel 5 中的 Public/Images 文件夹中删除图像(URL 数据)

    如何从 laravel 5 中的 public images 文件夹中删除图像文件 我从这个网站找到了一些例子 但我知道他们只是在他们的文件中使用文件名record table 但我正在使用类似的东西URL e g localhost pr
  • Symfony php.ini Debian

    我在 Oracle VM VirtualBox 上使用 Debian 7 amd64 LAMP 服务器 我正在尝试安装 Symfony 但遇到了一些小问题 当我运行命令时 php my project name app check php
  • symfony 2 形式的函数 getName 做什么

    这是我的表格类 class CommentType extends AbstractType public function buildForm FormBuilder builder array options builder gt ad
  • 将 SQL 中的数据存储在数组中

    我正在尝试将 sql 数据库中的数据存储到数组中 目前我有这个 query mysql query SELECT FROM InspEmail WHERE Company LIKE company while row mysql fetch
  • 配置 .htaccess 以在 PHP 框架 (Silex) 上工作

    我的 Apache2 本地主机 linux 上有一个工作路径 http localhost lab silex web index php hello name 我想成为 http localhost lab silex hello nam
  • $.parseJSON() 在有效对象上返回 null

    jsfiddle 链接 http jsfiddle net YmUmp 1 var x Item1 1 Item2 Item3 3 alert JSON stringify x undefined 2 alert parseJSON x 第
  • WooCommerce:用文本覆盖购物车价格

    我们有很多产品具有以下功能 No price 零价格 我们让它们可以通过内置挂钩购买 但购物车仍然将它们显示为具有0 price结账时 我们希望购物车和结帐摘要显示 特殊订单 或任何其他文本 但 WooCommerce 似乎使基于文本的价格
  • CSV 从 UTF8 到 ISO-8859-1

    我正在尝试修改我的 CSV 导出 但它不会将我的 CSV 从 UTF 8 转换 保存为 ISO 8859 1 请问我做错了什么吗 实际上自从修改了这个之后 我得到了一个空的 CSV 文件 php 7 0 x function my Gene
  • JSON 语法:传输数组

    A validJSON 语法是这样的 username admin password 123 但是如果我想传输一组 用户 给出的例子 而不是单个 用户 根据规范 下面的代码是有效的 JSON 吗 username admin passwor
  • 如何在 joomla 模块中通过 javascript 发送输入文件类型

    我想将带有 javascript 的文件发送到 php 文件 我的 php 文件中有这个表单
  • 需要使用 php 从远程服务器下载与 $_FILES 相同的内容[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 好的 我有处理图像上传的 php 代
  • 转换MAC地址格式

    我刚刚编写了一个小脚本 从交换机中提取数百个 MAC 地址进行比较 但它们的格式为 0025 9073 3014 而不是标准的 00 25 90 73 30 14 我对如何转换它感到困惑 我能想到的最好的办法就是在 处将它们分解成碎片 然后
  • sqlsrv_num_rows 不返回任何值

    我正在尝试获取查询中返回的行数 while 循环遍历结果有效 但由于某种原因 sqlsrv num rows 不返回任何值 result SELECT from dtable WHERE id2 apple query sqlsrv que
  • 如何显示不同页眉的页面? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在为我的学校项目开发网站 但我遇到了一个问题 我在每个页面上显示一个标题 我的标题之一包含登录表单 另一标题包含用户名 搜索栏等 问题是
  • PHP - 查找和比较日期

    你好 我有 foreach 我可以在其中获取数据库中的事件数据 我使用数据库中的日期名称 例如 event date 我需要在一个 div 中比较具有相同日期和输出的操作 例如我有这个事件 活动一 9 月 13 日 活动二 9 月 1 日
  • 处理查询字符串参数时 Codeigniter 缓存问题

    问候 我正在编写一个 CI Web 应用程序 它实现标准文件缓存功能 如下所示 this gt output gt cache n 我使用了段和查询字符串参数的组合 因此似乎遇到了问题 我在用例和输出类代码中看到的是 缓存仅基于段 像这样
  • PHP 中的 Zip 流

    我有一个 PHP 脚本 可以动态创建 zip 文件并强制浏览器下载该 zip 文件 问题是 我可以直接将zip文件写入连接到用户浏览器的输出流 而不是先将其保存为服务器上的真实文件 然后发送文件吗 提前致谢 如果您的 Web 服务器运行的是

随机推荐

  • 如何从 QListWidget 中删除项目

    每次我需要从 QListWidget 列表中删除 Item 时 我都会陷入使用 myItem hide 方法的困境 隐藏项目而不是删除 移除会使事情变得不必要的复杂 如果您向我展示如何从 ListWidget 中永久删除项目 我将不胜感激
  • Matplotlib:Times New Roman 显得粗体

    由于某种原因 当我在我的应用程序中使用 Times New Roman 时mpl情节显得粗体 其他字体都OK 这是一个最小的示例和结果 在 Word 文档中 用于与我期望的 Times New Roman 的外观进行比较 import ma
  • 我无法理解这一行 - 取消引用私有成员变量的地址还是什么?

    我不久前问过一个问题关于访问STL适配器的底层容器 我得到了一个非常有帮助的答案 template
  • 无法从 TypeScript 中的文件加载类

    我有一堂课 看起来像这样 export module GameModule export class Game private boardContainer HTMLElement private board number construc
  • 如何获取在其声明中实际键入的变量名称? [复制]

    这个问题在这里已经有答案了 可能的重复 在 C 中查找传递给函数的变量名 下面的类包含字段城市 我需要动态确定在类声明中键入的字段名称 即我需要从对象城市的实例中获取字符串 city 我尝试通过检查 DoSomething 中的 Type
  • 将 const 指针引用绑定到非常量指针

    int val2 38 int ptr val2 const int ptrRef ptr ERROR int i 92 int ref i i const int ref i2 ref i OK 为什么我不能有一个引用非常量指针的常量引用
  • Java XML处理实体问题?

    当我尝试运行 java 程序时出现以下错误 它应该读取 xml 文件并打印出一些内容 据我了解 有一个未引用的实体不属于 xml 标准的一部分 所以我的问题是 我该如何解决这个问题 Thanks Fatal Error subject xm
  • Java中n++ VS ++n的区别

    我的 Java 老师说最好使用 n 而不是 n 我没有看到这背后的逻辑 有人知道吗 n增加该值并返回新值 n 增加值并返回old one Thus n 需要额外的存储空间 因为它必须跟踪旧值 以便在增量后可以返回它 我预计这两者之间的实际差
  • 在一张表上创建多对多

    Flask SQLAlchemy 给出了example如何创建多对多关系 它是在两个不同的表之间完成的 是否可以在同一个表上创建多对多关系 例如 一个姐妹可以有很多姐妹 而她也可以有很多姐妹 我努力了 girl sister map db
  • 从 git diff 中排除目录

    我想知道如何从 Git diff 中排除整个目录 在本例中为 spec 我正在使用 git diff 命令为我们的整个软件版本创建一个差异 然而 规格的更改与此过程无关 只会带来麻烦 现在我知道我能做到 git diff previous
  • MySQL两列时间戳默认NOW值ERROR 1067

    我有如下所示的表格 为了解决一个默认问题nowMySQL的列限制我使用了如图所示的提示here CREATE TABLE IF NOT EXISTS mytable id INT NOT NULL AUTO INCREMENT create
  • 使用另一个节点版本重新编译节点依赖项

    我想安装一些依赖项 在本例中安装 node pty 但是当我运行它时 他们给了我这个错误 错误 模块 home dev Documents project node web kit node modules node pty build R
  • 为什么结构/联合兼容性需要标记和名称相等?

    C99标准第6 2 7 1节中有以下语言 如果它们的标签和成员满足以下要求 则在单独的翻译单元中声明的两个结构体 联合或枚举类型是兼容的 如果其中一个使用标签进行声明 则另一个应使用相同的标签进行声明 如果两者都是完整类型 则适用以下附加要
  • 根据列类型对数据框中的变量进行子集化

    我需要根据列类型对数据帧进行子集化 例如 从具有 100 列的数据帧中 我只需要保留那些具有类型的列factor or integer 我已经编写了一个简短的函数来执行此操作 但是 CRAN 上有没有更简单的解决方案或一些内置函数或包 我当
  • 当 Java 8 Stream 抛出 RuntimeException 时,预期的行为是什么?

    当遇到一个RuntimeException在流处理期间 流处理是否应该中止 应该先完成吗 是否应该重新抛出异常Stream close 异常是按原样重新抛出还是被包装 JavaDoc 的Stream和包装java util stream对此
  • 如何使用中文版 mPDF

    我正在使用 mPDF 将表单输入数据保存到 PDF 对于英语来说 它工作得很好 任何人都可以使用此代码将 HTML 表单数据保存为 PDF 问题 为了满足我的项目要求 我需要使用中文 我当前的代码不适用于此 表单 html
  • Android GridView 按钮单击处理程序

    我有一个安卓GridView与ImageView TextView和两个Button s 网格看起来很好 但我发现很难处理其中的按钮事件GridView 我是安卓新手 任何帮助 将不胜感激 Thanks 如果您希望按钮 以及其他任何内容 在
  • 如何克隆 Servlet 容器提供的分离的 HttpServletRequest 和 HttpServletResponse?

    我想实现以下逻辑 当我在主servlet的doService方法 在主web容器线程中 收到HttpServletRequeset和HttpServletResponse时 我启动A B C三个线程 由我自己的程序管理的线程 以并行模式处理
  • JQuery 文件上传在单独的 Post 请求中发送每个文件?

    我的问题既简单又复杂 我尝试使用 jQuery fileUpload 库和 spring mvc 控制器作为服务器端上传文件 但我的文件每个都由一个请求上传 我想要的是将它们全部发布在一个请求中 我努力了单文件上传 假选项 但它不起作用 如
  • 使用 Zend Action Helper ContextSwitch 创建自定义 JSON 响应对象

    我通常将编码的 json 对象附加到响应正文 但是现在我遇到了需要使用 ContextSwitch 操作助手的情况 我有一个 Zend Form 需要三个不同的响应上下文 html 将表单渲染为普通 html 在布局内 html 部分 渲染