jQueryのソート可能ファイルを使用してテーブル内の行を単純に並べ替えようとしています。ドラッグアンドドロップは正常に機能しています。問題は、ajax呼び出しの新しい行の順序を保存すること、特にCakePHPのアクションにデータを送信することです。私は一日中さまざまなことを検索して試しましたが、役に立ちませんでした。基本的に、DBを更新するものは何もありません。
空のアクションで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);
}
}