【发布时间】:2013-08-31 13:37:27
【问题描述】:
我是 Yii 的新手。我创建了一个具有以下代码的模块:
控制器代码:
public function accessRules()
{
return array(
array('allow', // allow all users to perform 'index' and 'view' actions
'actions'=>array('index','view'),
'users'=>array('*'),
),
array('allow', // allow authenticated user to perform 'create' and 'update' actions
'actions'=>array('create','update'),
'users'=>array('@'),
),
array('allow', // allow admin user to perform 'admin' and 'delete' actions
'actions'=>array('admin','delete','ajaxdialog'),
'users'=>array('*'),
),
array('deny', // deny all users
'users'=>array('*'),
),
);
}
这是我想通过 ajax 调用使用的操作:
public function actionAjaxdialog()
{
$user_id = $_POST['image_id'];
$is_active = $_POST['status'];
$model = $this->loadModel($image_id);
$model->is_active = $is_active;
$model->update();
}
查看代码:
$(document).ready(function(){
$('.changeStatus').live('click',function(){
var status = $(this).attr('status');
if(status==1)
{
status=0;
}
else
{
status=1;
}
var id = $(this).attr('image_id');
var $link = $(this);
$.ajax({
type: "POST",
url: "<?php echo Yii::app()->createUrl('Gallery/Ajaxdialog'); ?>",
data: {image_id:id,status:status},
success: function(msg)
{
if(status==0)
{
$link.attr('status','0');
$link.attr('title','In-active :: click to activate.');
$link.children('img').attr('src','/images/wrong.png');
AfterStatusChange('Image has been de-activated sucessfully.');
$link.parent().parent().removeClass('selected');
}
else
{
$link.attr('status','1');
$link.attr('title','Active :: click to de-activate.');
$link.children('img').attr('src','/images/right.png');
AfterStatusChange('Image has been activated sucessfully.');
$link.parent().parent().removeClass('selected');
}
},
error: function(xhr){
//alert("failure"+xhr.readyState+this.url)
alert("failure"+xhr.responseText);
}
});
});
});
我正在处理 localhost,我已使用以下代码更新“.htaccess”文件:
deny from all
Allow from localhost
当我尝试运行它时,它总是给我以下错误:
“禁止访问”
请帮我解决这个问题。
【问题讨论】:
-
所以你有 apache 或 yii 禁止错误?还要检查这个stackoverflow.com/questions/9507645/htaccess-deny-from-all
-
你可以使用action
admin或actiondelete吗? -
@Pitchinnate 我正在使用(用于删除)。
-
我知道,但您是否也收到了
access forbidden的信息? -
@Pitchinnate no.它工作正常。
标签: php jquery yii permissions