如何定义URL自定义jquery ajax在Yii

how to define URL for custom jquery ajax in Yii

本文关键字:jquery 自定义 ajax Yii URL 何定义 定义      更新时间:2023-09-26

我一直在外部javascript文件中编写一些ajax请求,发现设置URL有一些困难。当我在控制台检查URL没有到达控制器。我用ajax把url写成:

    $.ajax({
    type: 'POST',
    url: 'project/projectDelete',
    data: project_id,
    success: function(msg){
        if(msg == 'done') {
            $('.loaderContainer').hide();
            $('#'+projectid).parent().parent().remove();
        }
    }
}); //END $.ajax

我在控制台得到URL请求作为http://localhost/example/index.php/cp/project/project/projectDelete。应该是http://localhost/decksgo_new/index.php/cp/project/projectDelete。是否有任何正确的方法来定义URL在ajax在Yii外部javascript。

使用html的ajaxLink。这里有一个未经测试的例子来说明我的意思!

CHtml::ajaxLink("Label", CHtml::normalizeUrl(array('controller/action'),
    array(
        'success'=>'js:function(msg){ }',  //you can use update and replace see CHtml::ajax         
        'type'=>'POST',
        'dataType'=>'json',
        'data'=>array(
            'uid'=>Yii::app()->user->id, //sent to post as $_POST['uid']
            'project_id'=>$data->pid, //sent to post as $_POST['project_id']
        ),
    )
);

你可以这样做:

$.ajax({
    type: 'POST',
    url: '<?php echo Yii::app()->createUrl("project/projectDelete") ?>',
    ...
})