$('#table_content').sortable('serialize')
はconsole.infoでテストしたので配列を返します。私がしたいのは、その式の値をポストリクエストのデータとして使うことですが、その結果をコールバックのデータとして別のAjaxリクエストに渡すことを望みます。私はこれを行うことができると思ったのは、.postのデータ引数として$('#table_content').sortable('serialize')
を置くだけですが、これを行うと、パラメータは "undefined = undefined"となります。jqueryの結果を投稿リクエストで渡す(シリアル化)
jQuery ->
ids = $('#table_content').sortable('serialize')
console.info(ids)
$('#tasks_table').load('/dashboard #tasks_table', null, -> $.post('/tasks/sort', $('#table_content').sortable('serialize'), ->location.reload()))
undefined=undefined
なぜこのようなことが起こっているのですか?もし、私がを$('#table_content').sortable('serialize')
の代わりに渡すと、それは動作しますが、前回のajaxリクエストが実行された後は、$('#table_content').sortable('serialize')
の値にしかなりません。私はIDを使用する場合は、それが価値だあなたの例から$('#tasks_table').load
ありがとうございます!私はちょうどコールバック関数内で自分のID変数を初期化する必要がありました。それは完璧な意味合いがあります。 location.reload()関数がページを再読み込みし、ポストリクエストを行った後に変更された新しいデータが表示されない点を除いて、これは素晴らしい結果です。代わりに手動でページをリロードする必要があり、変更が反映されているだけです。ポストリクエストのコールバック機能は、ポストリクエストが正常に行われた後にのみ実行されると考えていたので、これはちょっと奇妙なようです。このアイデアは何ですか? – yiinewbie
成功コールバックであるため、成功時に呼び出されます。投稿されたデータは確かですか?サーバー側で何をしているのですか?また、後でページ全体をリロードする場合はなぜajaxを使用しますか? –