如何以自定义方式在我的 Zend Framework 应用程序中实现 jquery。
- 附加 jquery.jsok
- 附加脚本ok
- 将 POST 数据发送到控制器ok
- 处理发布的数据ok
- 发送“AjaxContext”响应给客户端now ok(谢谢)
我第一次使用jquery,我做错了什么?
早期,让 Zend 在没有完整布局的情况下响应 ajax 请求的最佳实践是检查通过请求标头提供的变量。根据文档 http://framework.zend.com/manual/en/zend.controller.request.html#zend.controller.request.http.ajax许多客户端库(包括 jQuery、Prototype、Yahoo UI、MockiKit)都发送正确的标头以使其正常工作。
if($this->_request->isXmlHttpRequest())
{
//The request was made with via ajax
}
然而,现代实践以及您可能正在寻找的,现在是使用两个新助手之一:
- 上下文切换器 http://framework.zend.com/manual/en/zend.controller.actionhelpers.html#zend.controller.actionhelpers.contextswitch
- Ajax内容 http://framework.zend.com/manual/en/zend.controller.actionhelpers.html#zend.controller.actionhelpers.contextswitch.ajaxcontext
这使得这个过程更加优雅。
class CommentController extends Zend_Controller_Action
{
public function init()
{
$ajaxContext = $this->_helper->getHelper('AjaxContext');
$ajaxContext->addActionContext('view', 'html')
->initContext();
}
public function viewAction()
{
// Pull a single comment to view.
// When AjaxContext detected, uses the comment/view.ajax.phtml
// view script.
}
请注意:这种现代方法requires您请求一种格式以便触发上下文。它在文档中并没有表现得非常明显,并且当您最终在浏览器中得到奇怪的结果时,会有些混乱。
/url/path?format=html
希望我们能找到解决方法。查看完整的文档 http://framework.zend.com/manual/en/zend.controller.actionhelpers.html#zend.controller.actionhelpers.contextswitch.ajaxcontext更多细节。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)