jQuery Ajax在Cake PHP 3.1中不起作用

时间:2015-12-14 15:22:57

标签: jquery ajax cakephp

我正在使用CakePHP 3.1和jQuery Ajax。

以下是我的表单代码:

echo $this->Form->textarea('comment',array('class'=>'ckeditor','id'=>'comment1'));

    echo $this->Form->button('Send',array('id'=>'save'));

我的ajax代码:

<script type="text/javascript">

$( document ).ready(function() {

     $("#save").click(function () {    
        var str = $( "#comment1" ).val();
        $.ajax({
        method: "POST",
        url: "<?php echo Router::url(array('controller'=>'users','action'=>'view'));?>" ,
        data : {comment:str},
        success: function (data)
        {
            alert(data);  
        }   

        });

        });

    });

</script>

我的相应行动是,

public function view($id = null) {
if($this->request->is('ajax')){

                $this->layout = 'ajax';
                $this->render('ajax');
                $na=$_POST['comment'];
                echo $na;
}
}

我不知道问题是什么。它没有调用相应的操作。

1 个答案:

答案 0 :(得分:1)

我相信我的问题是,我使用了CKEditor。因此,要获得CKEditor textarea的值,我们需要使用以下代码:

echo $this->Form->textarea('comment',array('class'=>'ckeditor','id'=>'editor1'));
    echo $this->Form->button('Send',array('id'=>'save'));

我们需要使用

而不是var str = $( "#comment1" ).val();
var value = CKEDITOR.instances['editor1'].getData();