如何从javascript插件调用YII模型

How to call YII model from javascript plugin

本文关键字:调用 YII 模型 插件 javascript      更新时间:2023-09-26

我使用ckeditor作为内联编辑器,并添加了一个按钮来使用AJAX保存内容。一切工作,如果我链接到一个php文件,它为我做的工作。总之,我用的是YII,我想在控制器或使用我的应用设置的文件中保存工作。

在javascript插件中,我调用:

$.post("index.php/pagina/update?id=1", {
                        dataType: "text json",
                        data : editor.getData(),
                        success : alert('Opgeslagen!'),
                    } );

在我的pagincontroller中的actionUpdate中我得到:

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

同样,您可以在这里使用一个Yii ajax函数,看起来像这样:

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