Yii2:将变量从控制器传递到javascript

Yii2:将变量从控制器传递到javascript,javascript,php,ajax,yii2,real-time,Javascript,Php,Ajax,Yii2,Real Time,我正在为我的项目使用Yii2框架。 我的控制器中有一个循环,这是代码 detailController.php: 我使用此脚本在视图中显示进度条。php,进度条的宽度(我在此处将注释标记设置为)取决于从控制器传递到此脚本的$percent 那么,如何在执行操作期间实时从PHP Javascript传递变量呢? 你知道怎么解决这个问题吗? 谢谢:) 我希望这对您有用。在这种情况下,您应该在返回数组中传递正确的值,然后在视图中管理正确的使用 假设您需要的值在$PercentVaR中 在控制器中

我正在为我的项目使用Yii2框架。 我的控制器中有一个循环,这是代码

detailController.php: 我使用此脚本在视图中显示进度条。php,进度条的宽度(我在此处将注释标记设置为
)取决于从控制器传递到此脚本的
$percent

那么,如何在执行操作期间实时从PHP Javascript传递变量呢? 你知道怎么解决这个问题吗? 谢谢:)


我希望这对您有用。

在这种情况下,您应该在返回数组中传递正确的值,然后在视图中管理正确的使用
假设您需要的值在$PercentVaR中

在控制器中

   return $this->render('index', [
                  'searchModel' => $searchModel,
                  'dataProvider' => $dataProvider,
                  'userId' => $userId,
                  'percent' => $percent
      ]);
在您看来,您可以检查正确使用

.......

  <?php  

     if ( $percent > 0) {
      echo "<div>". $percent . "</div>";
     }
  ?>

 .....
。。。。。。。
.....

在您的代码中,我看不出您是如何获得$dataProvider的,以及与循环中的值和dataProvider存在哪些关系。。请解释better@scaisEdge,很抱歉,我忘了添加通知作为注释
一些代码
。我没有添加代码,因为它包含30多行代码。我应该添加代码吗?谢谢添加代码,这样我就可以look@scaisEdge我已经更新了代码,请检查问题。谢谢,但我认为如果我使用render发送数据,它将中断操作执行。很抱歉,我已经在第一次编辑中更新了标题,我想将数据传递给javascript。您如何看待ajax?有人告诉我使用ajax来实时发送数据,我尝试了一些代码,但没有成功。要将数据传递到javascript而不是渲染,可以使用返回(或na echo),但这些都是在操作结束时发送的。希望是明确的,否则让我知道你的怀疑谢谢你的学习。如果我使用return,它不会中断操作吗?是的,如果使用return,则结束操作。如果您需要客户端和服务器之间的ciclic通信(javascript到php),您应该使用例如:分离(快速)操作。。由ajavx调用,仅用于了解流程的进展情况。单独的操作?我们如何使用ajax从控制器获得动作的推进?
if ($percent) {
    return $this->render('index', [
        'searchModel' => $searchModel,
        'dataProvider' => $dataProvider,
        'userId' => $userId,
        'percent' => $percent
    ]);
}

return $this->render('index', [
    'searchModel' => $searchModel,
    'dataProvider' => $dataProvider,
    'userId' => $userId,
]);
   return $this->render('index', [
                  'searchModel' => $searchModel,
                  'dataProvider' => $dataProvider,
                  'userId' => $userId,
                  'percent' => $percent
      ]);
.......

  <?php  

     if ( $percent > 0) {
      echo "<div>". $percent . "</div>";
     }
  ?>

 .....