2011-10-12 114 views
0

我只是想问,是否可以通过dojo xhrpost重新渲染相同的视图?ajax调用后重新渲染/刷新相同的视图

在我的/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(); 
} 

我得到这给了我所呈现的页面,但实际的观点本身并没有重新加载了对萤火虫的响应新的应用程序数据($ this-> view-> apps)

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

回答

1

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

希望帮助,

+0

这是否意味着它是不可能的呼吁是鉴于同样的动作时,通过Ajax重新渲染的页面?如果我调用不同的动作像/ app/dosomething dosomething.phtml得到渲染,所以我认为它可能通过ajax,因为我需要由控制器设置更新的数据,这将由我的视图帮助器在重新加载时使用。请赐教,因为我是新来的zend ..谢谢 – thinkvantage

相关问题