私はDataTableを持っています。これは、のAYAXデータを一度正しく取り出すことができ、テーブルを初期化します。
これで、AJAXデータを「再フェッチ」してDataTableを更新できるようにする必要がありますが、はテーブルを再初期化せずに済みます。DataTableでAJAXデータを変更する方法
ajax.data(data, settings)
は、ここで説明:http://datatables.net/reference/option/ajax.data
しかし
は、いくつかの研究の後、私は私が "機能として" 次の行を使用する必要が出ました。私はこれを "関数として"使う方法を見つけることができません。このページには例はありません。
次のように試しました。
私の元のDataTableの作成:
launch_datatable_ajax = function(){
get_ajax_data();
dyn_t = $('#dynamic_table').DataTable({
"ajax": {
"url":ajax_url,
"data":data,
"dataSrc":""
},
"columns": [
{ "data" : "ID" },
{ "data" : "post_title" },
{ "data" : "supplier_company" },
{ "data" : "img_src" },
{ "data" : "tags" },
{ "data" : "post_meta" },
],
});
}
は、その後、私は新しいパラメータでデータをリロードしてみました。 ここに私は立ち往生しています。
dyn_t.ajax.data(data,dyn_t.settings);
私はパラメータのために正しいと思う:上(変数を取得)console.log(dyn_t.settings);
のデータは私のオブジェクトを与える::
dyn_t.settingsが上のいくつかの情報を与えるconsole.log(data);
しかし、 console.logと表示されます:
Uncaught TypeError: dyn_t.ajax.data is not a function(…)
これは、AJAXを再ロードしますが、新しい取得値を取得できません。ですから、ID
my-form
とHTMLのフォームを持っていると仮定すると、このような何かを試してみてください。 – mesqueebこれはajax呼び出しを行うため、サーバーからフェッチされたデータはデータテーブルに反映されます。これは起こっていないのですか?サーバーからの新しいデータが実際に最初のデータと異なるかどうかを調べることはできますか? –
データが再度取得されますが、ユーザーが別のデータを入力して他のデータを検索しています。つまり、私はajaxをリロードする必要があるが、取得する値は異なると言うことを意味する。私がリロードすれば元のget-valueが導かれます。私は関数get_ajax_data()を使用しました。新しいget値を取得し、datatablesが使用するjob URLに貼り付けます。 – mesqueeb