[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: При удаленни перекидывает на Error 400 YII
lodas
Здравствуйте. Пытаюсь удалить запись из таблицы user. Передаю id так:
?r=user/delete&id=1

в коде пытаюсь вывести хотя бы переданный айдишник:
public function actionDelete($id)
{ if(isset($id))
echo $id;
}

Но за место id у меня выводит ошибку:
Цитата
Error 400. Некорректный запрос.


Не совсем понятно почему так происходит? И как это исправить?

P.S. Ведь при редактировании я посылаю запрос точно также: user/update&id=10
и все работает.
bestxp
проверь роуты, может какой-то ранее срабаывает . или что-то в этом духе

попробуй все же user/update/123

lodas
Долго копался из за чего это может происходить. Пока случайно не заметил ошибку jquery связанную с удалением. При удалении обязательно должно срабатывать jquery? И из за чего может быть такая ошибка?
Сам код этой функции:
jQuery(document).on('click','#user-grid a.delete',function() {
if(!confirm('Вы уверены, что хотите удалить данный элемент?')) return false;
var th = this,
afterDelete = function(){};
jQuery('#user-grid').yiiGridView('update', {
type: 'POST',
url: jQuery(this).attr('href'),
success: function(data) {
jQuery('#user-grid').yiiGridView('update');
afterDelete(th, true, data);
},
error: function(XHR) {
return afterDelete(th, false, XHR);
}
}
);
return false;
});
TMake
lodas Твоя ошибка вероятно в том что в контреллере указано принимать на метод delete только пост запрос.
Заходишь в контроллер User, и там в самом вверху есть метод filters, посмотри хорошо на комментарии:

public function filters()
{
return array(
'accessControl', // perform access control for CRUD operations
'postOnly + delete', // we only allow deletion via POST request
);
}
lodas
Спасибо stepan-все получилось)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.