基本url在ajax中调用Yii传递参数的控制器动作

时间:2014-03-20 17:54:53

标签: php jquery ajax yii

我的js外部脚本包含以下代码

$(document).ready(function() {

        $('[id^="comment"]').click(function(e) {

            $(this).prop('disabled', true);

            if ($(this).val() == 'Save') {
                var $thisClicked = $(this);
                $.ajax({

                    type: "POST",
                    url:"/comment/create/",   

                    success: function(data) {
                        $thisClicked.after(data);
                        $(".form").slideDown(200);
                    }                          
                });
            } else {
                var $thisClicked = $(this);
                $.ajax({
                    type: "POST",
                    url:"/comment/delete/",
                    success: function(data) {
                        $thisClicked.prop('disabled', false);
                    }
                });
            }
        });
});

我的问题是我应该使用什么变量来指向Yii中的正确目录以及如何传递变量。

我试图做相同的

url: "<?php echo Yii::app()->createUrl('comment/create', array('post_id' => $data['id'], 'user_id'=> Yii::app()->user->id)); ?>",

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

我通过“隐藏”data属性中的网址解决了这个问题:

<div id="comment" data-url="<?php echo Yii::app()->createUrl('comment/create', array('post_id' => $data['id'], 'user_id'=> Yii::app()->user->id)); ?>"></div>

在您的javascript代码中,您可以通过以下方式访问它:

$("#comment").data('url');