我正在尝试使用 jQuery 的 sortable 对表中的行进行简单的重新排序。我的拖放工作正常,我的问题是保存我的 ajax 调用的新行顺序,特别是将数据发送到我在 CakePHP 中的操作。我整天都在搜索和尝试不同的东西,但无济于事。基本上,根本没有更新数据库。
如果我使用空操作运行我的 ajax 调用,我可以获得成功:回调以提醒某些东西,我理解这意味着它成功地击中了我的操作。如果我在那里错了,请纠正我。这是我的 jQuery 和 AJAX 调用:
$('#featured-items tbody').sortable({
cursor: 'move',
stop:function(i) {
$.ajax({
type: "GET",
url: "/admin/features/reorder",
data: $('#featured-items tbody').sortable("serialize"),
success: function() {
alert($('#featured-items tbody').sortable("serialize"));
}
});
}
}).disableSelection();
我发送的数据是:
item[]=2&item[]=1&item[]=24
有人可以帮助我了解如何在控制器操作中访问我的数据吗?到目前为止,我有这个(通过查看其他示例)。我正在使用 Cake 1.3,我的模型称为 Feature。
function admin_reorder()
{
$this->autoRender = false;
if($this->RequestHandler->isAjax())
{
foreach($this->data['item'] as $order => $id)
$this->Feature->id = $id;
$this->Feature->saveField('priority', $order);
}
}