1

语境

对于一个研究项目,我们正在为用户计算产品推荐。当这些推荐被创建(createList通过 AJAX 调用的方法)时,用户应该看到一个等待页面。动作返回后createList,他应该被重定向到结果(showList)。这在 Firefox 和 Chrome 中运行良好,但在 IE(Win7 上的版本 9)中却不行。似乎它正在同步调用这两个动作。

代码

我通过 JsHelper 将 JQuery 与 CakePHP 1.3 一起使用。这是等待页面视图中的 JsHelper 代码:

echo $this->Js->domReady($this->Js->request(    array('controller' => 'probands', 'action' => 'createList', $pid),
                                                array('complete' => $this->Js->redirect(array('controller' => 'probands', 'action' => 'showList', $pid)))
                                        )
                    );

这是 CakePHP 的 JsHelper 创建的结果 JavaScript:

$(document).ready(function () {$.ajax({complete:function (XMLHttpRequest, textStatus) {window.location = "/socrec/probands/showList/1";}, url:"\/socrec\/probands\/createList\/1"});});

您能给我一些提示,告诉我如何改进解决方案,使其在 IE 中也能正常工作吗?此外,如果您对更好地实现我想要实现的目标有一般性意见,我也很高兴听到这些意见,因为我对 AJAX 还是很陌生。谢谢!

4

0 回答 0