我想呈現一個部分作爲對我的控制器操作中的ajax請求的響應。 我的目標是在ajax請求成功時回顯Twitter Bootstrap Alert。zend框架部分沒有呈現迴應的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文件是不同的字符集類型。
你確定它進入了partial/alert-ajax.phtml頁面嗎? –
@Zuber Surya是的,它絕對是那個頁面。 – adamnyberg
你應該嘗試@ Ronn0的代碼,並嘗試給予額外的意見,以檢查 –