sha*_*nth 1 php ajax zend-framework
我是zend的新手,我找不到在zend中实现Ajax的方法.
一般来说,它很容易制作ajax请求并在页面的所需部分显示响应.但是,即将到来,我不知道如何做到这一点.
假设在我的索引控制器的index.phtml文件中,我有一个按钮,当我点击它时,我必须向特定的控制器和动作发出ajax请求,并在我的页面中加载相关的控制器动作的视图.
但我无法理解的是如何指定ajax请求的URL以及路由的工作原理.
目前,我发出ajax请求静态加载视图,如下所示:
xmlhttp.open( "GET", "../应用/视图/脚本/注册/ register.phtml",TRUE);
仅供参考,我在我的应用程序中使用正则表达式路由,那么使用curl来路由请求会更好吗?
首先,您不要直接请求视图.您需要请求特定的控制器操作,例如
/register/register
Run Code Online (Sandbox Code Playgroud)
Zend附带了一个名为AjaxContext的强大动作助手.此帮助程序允许您根据请求类型(XmlHttpRequest)和format参数响应不同的视图,禁用通常存在的任何布局.
要进行设置,请在控制器的init()方法中放置类似的内容
public function init()
{
$this->_helper->ajaxContext->addActionContext('register', 'html')
->initContext();
}
Run Code Online (Sandbox Code Playgroud)
然后,添加带ajax后缀的视图脚本,例如register/register.ajax.phtml.
构造您的AJAX GET请求以包含format=html参数,例如
xmlhttp.open('GET', '/register/register/format/html', true);
Run Code Online (Sandbox Code Playgroud)
要么
xmlhttp.open('GET', '/register/register?format=html', true);
Run Code Online (Sandbox Code Playgroud)
将返回的是渲染内容register.ajax.phtml,没有任何布局.
| 归档时间: |
|
| 查看次数: |
1779 次 |
| 最近记录: |