如何从javascript插件调用YII模型

如何从javascript插件调用YII模型,javascript,php,yii,Javascript,Php,Yii,我使用ckeditor作为内联编辑器,并添加了一个按钮来使用AJAX保存内容。如果我链接到一个php文件来完成这项工作,一切都会正常工作。无论如何,我正在使用YII,我想在控制器或使用我的应用程序设置的文件中执行此保存工作 因此,在我的javascript插件中,我调用: $.post("index.php/pagina/update?id=1", { dataType: "text json", d

我使用ckeditor作为内联编辑器,并添加了一个按钮来使用AJAX保存内容。如果我链接到一个php文件来完成这项工作,一切都会正常工作。无论如何,我正在使用YII,我想在控制器或使用我的应用程序设置的文件中执行此保存工作

因此,在我的javascript插件中,我调用:

$.post("index.php/pagina/update?id=1", {
                        dataType: "text json",
                        data : editor.getData(),
                        success : alert('Opgeslagen!'),
                    } );
在actionUpdate的PaginControl中,我得到:

public function actionUpdate($id)
    {
        $model=$this->loadModel($id);
        $model->content = 'werkt';
        $model->save();
    }

有人知道我在这里做错了什么吗?

我认为您必须传递url Yii样式,以便它接受一个名为
id
的参数

var url = '<?php echo Yii::app()->createUrl(array("pagina/update", "id" => $model->id)); ?>';

$.post(url , { // rest of code
var url='';
$.post(url,{//其余代码
此外,您还可以在此处使用类似以下内容的Yii ajax函数:

<?php echo CHtml::ajax(array(
        'url'=>'js:url',
        'data'=> "js: info",
        'type'=>'post',
        'dataType'=>'json',
    )); 
?>  

谢谢,这很有效。我发现插件保存在缓存中,刷新时没有更新。所以它没有指向我提供的新URL,所以它不起作用。。。