- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
在我的 Controller init() 方法中,我调用 AjaxContext-Helper 并为该 Controller 中的某些方法/操作设置它。像这样:
public function init()
{
$ajaxContext = $this->_helper->getHelper('AjaxContext');
$ajaxContext->addActionContext('setlabel', 'html');
$ajaxContext->initContext();
}
现在,当我想使用从ajax-request 到non-ajax 方法 的重定向...
$this->redirector->gotoSimple('manage', 'team', null, array('id' => $teamID));
我遇到页面无法加载的问题。我认为这是因为 AjaxContext 弄乱了 header 。
我在重定向之前尝试了 clearHeaders 和 clearContexts,但没有任何效果。
[edit] 在相应的 ajaxed 方法 (AjaxContent) 中,我通常使用对 myviewscript.ajax.phtml 的 ajax 响应来响应。但在某些情况下,我现在想重定向到另一个 Controller 中的正常非 ajax 操作。[/edit]
有什么想法吗?谢谢!
最佳答案
好的。希望我了解您的目标。
首先,Zend_Controller_Action
实例上没有直接的redirector
方法。
所以,这个:
$this->redirector->gotoSimple('manage', 'team', null, array('id' => $teamID));
应该是这样的:
$this->_helper->redirector->gotoSimple('manage', 'team', null, array('id' => $teamID));
当然,除非您已将重定向器分配给 Controller 的属性。在这种情况下,你应该是对的,但我会仔细检查一下。
此外,在 XHR 请求期间调用 _redirect
方法或 Redirector 操作助手将仅重定向 XHR 请求本身。您是否尝试重定向 XHR 请求?或者实际上将用户的浏览器重定向到不同的页面?
编辑:
好的。所以,w/r/t 你的评论:如果满足某些条件,您的目标是将用户的浏览器 session 重定向到与 XHR 请求不同的页面。 Redirector action helper 不会在这里使用。 XHR/Ajax 请求没有什么特别的……如果它看到 301/302 重定向,它会很乐意跟随它,就像常规浏览器请求一样。它不做任何有趣的事情。
因此,要解决您的问题,您必须做一些自定义的事情。这是可行的方法:
window.location = whatever
将正常工作。关于php - 使用 AjaxContext 后重定向不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1150620/
在我的 Controller init() 方法中,我调用 AjaxContext-Helper 并为该 Controller 中的某些方法/操作设置它。像这样: public function in
在我的 ASP.NET MVC3 应用程序中编写 Ajax 数据输入表单时,我有一个标准的 Ajax 错误处理程序,大致如下: function handleAjaxError(ajaxContext
我是一名优秀的程序员,十分优秀!