簡體   English   中英

如何從JavaScript內的PHP獲取價值?

[英]How to get value from php inside a javascript?

在以下腳本中,使用默認值。 我想使用數據庫中的值,例如<?php $user->location ?>即,我想在var states內使用用戶位置數據。

我該怎么做?

 <script>
    $(document).ready(function() {
        var states = ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California'
  ];
</script>

像這樣

 <script>
     var test = "<?php json_encode($variable); ?>";
 </script>

在Yii中,您可以在視圖文件中使用registerJS

<?php
    $js = "var states = ['" . 
          implode("','", ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California']) .
          "'];";
    $this->registerJs($js, View::POS_BEGIN)

    // Now states is globally available in JS
?>
<div> ... your view html ... </div>

您還可以在控制器動作中添加此JS代碼,而不是將其放入視圖文件中:

public function actionIndex() {
    $js = "var states = ['" . 
          implode("','", ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California']) .
          "'];";

    $this->view->registerJs($js, View::POS_BEGIN);
    return $this->render('index', []);
}

當然,您可以將陣列替換為所需的任何陣列。 您可以使用例如:

$states = States::find()->column();

嘗試這個:

<script type="text/javascript">
$(document).ready(function() {
    var states = <?php echo json_encode($user->location); ?>;
});
</script>
<?php
    $ar = array('one', 'two', 1, false, null, true, 2 + 5);
 ?>

<script type="text/javascript">
  var ar = <?php echo json_encode($ar) ?>;
  // ["one","two",1,false,null,true,7];
  // access 4th element in array
  alert( ar[3] ); // false
</script>

謝謝!!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM