1

以下のようなjqueryデータテーブルエディターDatatables Editorから受け取るデータ形式があり、dbに保存できるように解析する必要がありますが、その方法がわかりません。

 { action: 'edit',
     'data[1][Name]': 'Some Text ',
     'data[1][Rating]': '1',
     'data[1][Division]': 'Some Text '
 } 

javascript を使用してこの形式のデータを解析する最良の方法は何ですか? エディター ライブラリには、データを解析するための php ライブラリが付属していますが、バックエンドに nodejs を使用しています。

4

2 に答える 2

0

正規表現文字列の「[]」文字のリスクを排除する、新しい、おそらくもう少し体系的なアプローチがあります。非常に簡単な方法は、カスタム ajax を使用することです。私は自分のデータを使用しました。

const editor = new $.fn.dataTable.Editor({
    ajax: (method, url, data, success, error) => {           
        $.ajax({
            type: 'POST',
            url: '/updateproductcode',
            data: JSON.stringify(data),
            success: (json) => {
                success(json);
            },
            error: (xhr, error, thrown) => {
                error(xhr, error, thrown);
            }
        });
    },
    table: '#mytable',
    idSrc: 'productcode',
    fields: ...

次に、サーバー側でオブジェクトを受け取ります。そのキーは、文字列化されたデータです。

{'{"action":"edit","data":{"08588001339265":{"productcode":"08588001339265","name":"does_not_existasdfadsf","pdkname":"Prokain Penicilin G 1.5 Biotika ims.inj.s.10x1.5MU","suklcode":"0201964","pdkcode":"2895002"}
}:''}

でキーを解析するとJSON.parse(Object.keys(req.body)[0])、結果が得られます。

{ action: 'edit',
  data:
   { '08588001339265':
      { productcode: '08588001339265',
        name: 'does_not_existasdfadsf',
        pdkname: 'Prokain Penicilin G 1.5 Biotika ims.inj.s.10x1.5MU',
        suklcode: '0201964',
        pdkcode: '2895002' } } }
于 2019-01-23T08:29:03.607 に答える