سلام
من تا دیروز داشتم روی پروژه ای که برای خودم مطرح کرده بودم کار می کردم بدون هیچ مشکلی
امروز که اومدم روش کار کنم هنگام حذف با این پیغام رو برو شدم باید چکار کنم ؟
Error 400
Your request is invalid.
سلام
من تا دیروز داشتم روی پروژه ای که برای خودم مطرح کرده بودم کار می کردم بدون هیچ مشکلی
امروز که اومدم روش کار کنم هنگام حذف با این پیغام رو برو شدم باید چکار کنم ؟
Error 400
Your request is invalid.
ادرسی شما نا معتبر است
مثلا ای دی برای اکشن delete ارسال نشده که این خطا را صادر میکند
توی گرید ویو این خطا رو میده
حالا راه حل چی هست ؟
الان دیدم ای دی هم توی لینکش هست
چه لینکی برای Delete تولید شده؟ کد اکشن actionDelete شما چیه؟ متد accessRules کنترلر رو چطور تنظیم کردین؟ این خطا میتونه منشأهای مختلفی داشته باشه.
actionDelete و accessRules رو فعلا دست بهش نزدم و همون مقدار اولیه رو داره که خود yii ساخته
در مورد لینک تولید شده حقیقت من تا شب دسترسی به سیستمم ندارم و چیزی یادم نمیاد که چطوری بوده ؟
ولی یادم هست نگاه کردم ایدی رو داشت
پس شاید توی accessRules دسترسی بهش به کسی ندادین.
filters هات رو بگذار اینجا
یا فیلترهات رو کامنت کن، میبینی که مشکلت حل میشه.
این خطا رو وقتی میده که شما دسترسی به صفحه رو محدود به یه حالت کردید مثلاً گفتید فقط از طریق ajax میشه به این صفحه دسترسی داشت ولی چون این صفحه با آژاکس فراخونی نشده این پیغام رو میده
شاید هم postOnly روی Delete فعاله و به قول دوستمون شما با Get (بدون Ajax با روش Post) دارین صداش میزنید.
بسیار خب
این کد accessRules
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'),
'users'=>array('admin'),
),
array('deny', // deny all users
'users'=>array('*'),
),
);
}
این هم کد actionDelete
public function actionDelete($id)
{
$this->loadModel($id)->delete();
// if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser
if(!isset($_GET['ajax']))
$this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('admin'));
}
و این هم فیلتر هام
public function filters()
{
return array(
'accessControl', // perform access control for CRUD operations
'postOnly + delete', // we only allow deletion via POST request
);
}
این هم کد ایجاد شده
استاد من به کد ها تا الان دست نزدم و هنوز تازه این قسمت رو ایجاد کردم که این ارور رو میده وکد HTML:<a class="delete" title="Delete" href="/shop/index.php?r=administrator/menuType/delete&id=3">
جالب تر این هست که بقیه قسمت ها هم همینطور شده
الآن وقتی روی لینک Delete کلیک میکنید، پیغام تأیید ظاهر میشه؟ میتونید TeamViewer بدین؟
بله استاد میشه
اطلاعات Remote Connection برنامه TeamViewer رو برام پیام خصوصی کنید تا به سیستمتون وصل بشم ببینم مشکل از کجاست.