2012-06-21 41 views
0

我想呈現一個部分作爲對我的控制器操作中的ajax請求的響應。 我的目標是在ajax請求成功時回顯Twitter Bootstrap Alertzend框架部分沒有呈現迴應的AJAX請求

這裏是我的動作(redigeraLottningAction):

if($this->getRequest()->isXmlHttpRequest()){ 
    $this->_helper->viewRenderer->setNoRender(); 
    $this->_helper->layout->disableLayout(); 
    echo $this->view->partial('partial/alert-ajax.phtml', array('type' => 'success', 'msg' => 'Lyckat! Lottningen är nu sparad.')); 
} 

而我的部分(alert-ajax.phtml):

<div id="alert-msg" class="alert alert-<?= $this->type?> fade in"> 
    <a class="close" data-dismiss="alert" href="#">×</a> 
    <p><?= $this->msg?></p> 
</div> 

的問題是,在部分的PHP腳本被outputed爲文本。這就是它看起來像在瀏覽器中使用變量不會呈現:

<div id="alert-msg" class="alert alert-<?= $this->type?> fade in"> 
    <a class="close" data-dismiss="alert" href="#">×</a> 
    <p><?= $this->msg?></p> 
</div> 

而jQuery的部分:

$(document).ready(function(){ 

    $('#lottning-spara').click(function() { 
     $.ajax({ 
      type: "POST", 
      url: '/turnering/redigera-lottning', 
      cache: false, 
      data: {id: getParam("turnering"), klass_id: getParam("klass"), type: "spara", lottning: $('#lottning_str').val()}, 
      dataType: 'html', 
      success: function(msg){ 
       $('#alert-div').html(msg); 
      }, 
      error: function(){ 
       $('#alert-div').html('Error!'); 
      } 
     }); 
    }); 
}); 

爲什麼在局部的PHP是不會呈現任何想法?

編輯大膽。

問題解決。 alert-ajax.phtml文件是不同的字符集類型。

+0

你確定它進入了partial/alert-ajax.phtml頁面嗎? –

+0

@Zuber Surya是的,它絕對是那個頁面。 – adamnyberg

+0

你應該嘗試@ Ronn0的代碼,並嘗試給予額外的意見,以檢查 –

回答

0

問題就迎刃而解了。 alert-ajax.phtml文件是不同的字符集類型。

1

如果你試試這個:

<div id="alert-msg" class="alert alert-<?php echo $this->type; ?> fade in"> 
<a class="close" data-dismiss="alert" href="#">×</a> 
<p><?php echo $this->msg; ?></p> 
</div> 

if($this->getRequest()->isXmlHttpRequest()){ 
    $this->view->assign(array('type' => 'success', 'msg' => 'Lyckat! Lottningen är nu sparad.')); 
    echo $this->view->render('partial/alert-ajax.phtml'); 
    exit; 
} 
+0

我試過了,沒有運氣! :( – adamnyberg

+0

這個怎麼樣: 分配所有VAR和做到這一點: 回聲$這個 - >查看 - >渲染(「部分/警報的ajax.phtml」); – Ronn0

+0

同樣的事情發生。 – adamnyberg