使用 Zend Action Helper ContextSwitch 创建自定义 JSON 响应对象
我通常将编码的 json 对象附加到响应正文,但是现在我遇到了需要使用 ContextSwitch 操作助手的情况。
我有一个 Zend_Form 需要三个不同的响应上下文:
- html - 将表单呈现为普通 html 在布局内。
- html-partial - 渲染的 ajax“get”请求 只是 html 形式。
- json - 返回的 ajax“post”请求 任何表单验证错误消息。
对于每个上下文,我有 3 个视图脚本。虽然两个 html 上下文可以使用相同的视图脚本,但我还没有弄清楚这是否可能。
- form.phtml
- form.html.phtml
- form.json.phtml
html 上下文视图工作正常,但 json 视图没有被拾取。覆盖默认 json post 回调行为或将自定义编码对象传递到响应正文的最佳方法是什么?
I normally append an encoded json object to the response body, however I now have a situation that warrants using the ContextSwitch action helper.
I have a Zend_Form that requires three different response contexts:
- html - Render the form as normal html
within a layout. - html-partial - An ajax "get" request that renders
just the form as html. - json - An ajax "post" request that returns
any form valiation error messages.
For each context I have 3 view scripts. Although the two html contexts could use the same view script, but I haven't figured out if this is possible.
- form.phtml
- form.html.phtml
- form.json.phtml
The html context views work okay, but the json view is not being picked up. What is the best method to override the default json post callback behaviour or pass a custom encoded object to the response body?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
就我个人而言,我不使用“View”来生成 JSON 内容。
在我的
init()
中,我有这样的内容:在我的
indexAction()
中:希望有所帮助。
Personally, I don't use "View" to generate JSON content.
In my
init()
, I have something like this:And In my
indexAction()
:Hope this help.
这可能有帮助:
$this->_helper->json->sendJson($data);
同时,
$data=array('data1'=>'val1','data2'=>'val2');
this may help :
$this->_helper->json->sendJson($data);
while,
$data=array('data1'=>'val1','data2'=>'val2');