2016-03-15 77 views
-1

如何在Yii2中通過jQuery渲染頁面,就像這樣的代碼?如何通過jQuery呈現頁面?

<script> 
    function showIndex(){ 
     <?php $this->renderAjax(['index']); ?> 
    } 
</script> 
+0

是否要更換任何HTML部分在JQuery裏面?您的視圖已經呈現,您可以重定向到另一個動作或更新您的DOM的一部分 –

+0

我想要的東西是這樣的:$('#product')。load( renderAjax(['index']);?>) ; – Farshid

回答

0

您應該嘗試這種方式,因爲您的語法錯誤。腳本添加以下

<?php 
    $data = $this->renderFile('@app/views/......'); // provide exact filepath 
    $data = trim(preg_replace('/\s\s+/', ' ', $data)); 
?> 

你的腳本功能

<script> 
    function showIndex(){ 
     <?php $this->renderAjax('index', []); ?> 
    } 
</script> 
+0

此代碼使陷阱。 – Farshid

+0

我想點擊鏈接時呈現頁面。 – Farshid

0

您認爲文件之前

<script> 
    function showIndex(){ 
     $('#product').html(<?php echo $data; ?>); 
    } 
</script> 
0

我解決了,

<script> 
    function productAction(id) { 
     $('#product').load(id); 
    } 
</script> 

    Html::button('<i class="glyphicon glyphicon-eye-open"></i>', [ 
     'onclick' => 'productAction(\'' . Url::to(['/product/index']) . '\')', 
     'title' => 'show', 
     'class' => 'showModalButton btn btn-default', 
     'style' => 'float:left']); 
    ?>