我一直在外部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
我在控制台中输入了http://localhost/example/index.php/cp/project/project/projectDelete
的网址请求。但它应该是http://localhost/decksgo_new/index.php/cp/project/projectDelete
。有没有正确的方法在Yii外部javascript中定义ajax中的URL。
答案 0 :(得分:0)
你可以这样做:
$.ajax({
type: 'POST',
url: '<?php echo Yii::app()->createUrl("project/projectDelete") ?>',
...
})
答案 1 :(得分:0)
使用CHtml的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']
),
)
);