Я имел обыкновение использовать scriptaculous во всех моих проектах CakePHP из-за его простых помощников. Со временем я все больше и больше увлекался jQuery, и теперь я хочу заменить свои текущие скриптовые скрипты скриптами jQuery. До сих пор все было хорошо ... за исключением сортировки jQuery.
Сортируемый JQuery запускается, но впоследствии вызов AJAX работает неправильно. Сейчас мой программист в отпуске, поэтому я должен спросить вас, ребята:
Старый код CakePHP (внутри pages_controller.php
):
function order($parent_id = 0){
$this->autoRender=false;
//Users with rights may view this
$user = $this->checkRights('pages',true);
//loop through the data sent via the ajax call
foreach ($this->params['form']['page'] as $order => $id){
$this->Page->id = $id;
if(!$this->Page->saveField('order',$order)) {
$this->flash('Really freaky errors are occuring','/');
exit();
}
}
}
Мой jQuery выглядит так:
$(".sortable-list").sortable({
update: function() {
$.post('/pages/order/0', {
data: $('.sortable-list').sortable("serialize")
});
}
});
$(".sortable-list").disableSelection();
В Firebug я вижу, что пост-вызов AJAX производит что-то вроде этого:
page[]=14&page[]=23&page[]=18&page[]=11&page[]=26&page[]=28
Однако, похоже, это не работает. Я думаю, страница [] = id отличается от старого скриптового формата:
pages_0[] 1
pages_0[] 3
pages_0[] 2
Кто-нибудь знает, как я могу настроить файл CakePHP для правильного чтения строки?