ajax调用后重新渲染/刷新相同的视图

时间:2011-10-12 11:32:08

标签: ajax zend-framework dojo controller action

我只想问是否可以通过dojo xhrpost重新渲染相同的视图?

在我的/app/index.phtml页面上,我有一个按钮,它将通过dojo xhrpost触发一个动作,它将调用相同的/ app动作控制器。

它成功调用了控制器,但页面未使用更新的数据进行渲染。

这是ajax调用部分

  var xhrArgs = {
            url: "/app",
            handleAs: "text",
            load: function(data) {
                console.log(data);
            },
            error: function(error) {
                console.log(error);
            }
    }
    dojo.xhrPost(xhrArgs);

控制器

      public function indexAction()
{
    $apps = new Application_Model_Application();
    if($this->_request->isPost()){
          $this->view->apps = $apps->getAppsById("2");
    }else{
          $this->view->apps = $apps->getAllApps();
    }
    $this->render();
 }

我在firebug上得到了回复,它给了我渲染页面,但实际视图本身没有重新加载新的应用数据($ this-> view-> apps)

我错过了什么吗?请帮忙。

1 个答案:

答案 0 :(得分:1)

您需要使用Dojo将新检索的数据呈现到页面的DOM中。控制器会将其返回到变量中,但不会显示它。

希望有所帮助,