如何在yii控制器操作中使用Javascript/jquery代码?

如何在yii控制器操作中使用Javascript/jquery代码?,javascript,php,jquery,yii,Javascript,Php,Jquery,Yii,我想在yii项目中重复调用ApicController中的javascript函数 public function actionMytimer() { Yii::app()->clientScript->registerCoreScript('jquery'); Yii::app()->clientScript->registerCoreScript('jquery.ui'); $hello = setInterval(test,1000);

我想在yii项目中重复调用ApicController中的javascript函数

 public function actionMytimer() {
    Yii::app()->clientScript->registerCoreScript('jquery');
    Yii::app()->clientScript->registerCoreScript('jquery.ui');
    $hello = setInterval(test,1000);
    function test(){
        echo 'hellooo interval';
    }  
}
对我来说,在特定的时间间隔内运行“test”方法是非常必要的。有可能吗?如果没有,那么有什么方法可以做到这一点吗?。请帮忙,谢谢你的帮助。 以下是当前的警告消息:

Fatal error: Call to undefined function setInterval() in /Library/WebServer/Documents/MediaPult/protected/controllers/APIController.php on line 449

如果你能更清楚地解释这个问题,人们就会更容易提供一个好的解决方案

据我所知,您希望能够在服务器端重复执行一个方法。为此,您应该输出执行此操作的JavaScript代码。大概是这样的:

<script>
setInterval(function(){
    $.get(<?= Yii::app()->request->baseUrl ?>/actionName");
}, 1000);
</script>

setInterval(函数(){
$.get(/actionName”);
}, 1000);

您不能像这样从php代码中执行javascript函数。您可以尝试以下方法:

function actionTest(){
  $cs = Yii::app()->clientScript;
  $cs->registerScript('my_script', 'setInterval(test,1000);', CClientScript::POS_READY);
  $this->render('any_view');
}

您需要输出整个JavaScript代码。您无法在PHP控制器中运行它。请尝试先让它在纯HTML页面或JSFIDLE.net中运行,然后从应用程序中输出代码。如果您想在控制器中运行某些方法,您需要使用@torinfinemann:Thank man.it works:))正确。我希望能够执行重复在服务器端调用一个方法。但是我可以从控制器操作中调用它吗?不是从视图中调用。JavaScript驻留在客户端(浏览器)。PHP位于服务器端。因此,要执行JavaScript代码,您需要想象将发生的交互。要简单地测试这一点,您可以执行echo“。。。。“从行动中。然后将回音的输出发送到客户端。您可以通过转到“查看源”来检查发送到客户端的内容。然后,JavaScript代码将在客户端开始执行,并向您的action.Thanx发送请求,解释如下:)没问题。我很高兴能帮上忙。我在
$this->render('any_view')中遇到了麻烦。我不知道如何传递视图名称。因为我想从操作运行此操作。