2016-03-25 6 views
0

に転送すると、ここはjavascriptウィジェットに関するものです。DataTables例はhereです。選択したテーブルの行(javascript DataTables)をサーバー

申し訳ありませんが、私はjavascriptの専門家ではありません。選択した行(実際にはサーバーからのオブジェクト)をjson-formatの形式でサーバーに戻すにはどうすればよいですか?

私はこの方法でそれをやろうでしたが、それは動作しません:

$('#save_btn').click(function() { 
 
     //table.row('.selected').remove().draw(false); 
 
     console.log (table.rows('.selected').data()); 
 
    
 
    
 
     var stringData = table.rows('.selected').data().serialize(); 
 
     $.ajax({ 
 
      url: '${pageContext.request.contextPath}/ajax/storeSelectedContacts', 
 
      data: stringData , 
 
      type: "POST", 
 
      cache: false, 
 
      success: function (savingStatus) { 
 
       alert("success"); 
 
      }, 
 
      error: function (xhr, ajaxOptions, thrownError) { 
 
       alert("error") 
 
      } 
 
     }); 
 
    
 
    });

多くのおかげ

答えて

0

まず、オブジェクトのその戻り配列。

var aData = table.rows('.selected').data(); 
var sData = JSON.stringify(aData) 

、あなたはそれを示すslouldサーバーに送信するためのJSONに変換アレイの

var stringData = table.rows('.selected').data(); 

第二には、... JSON dataType: 'json'

$.ajax({ 
     url: '${pageContext.request.contextPath}/ajax/storeSelectedContacts', 
     data: sData , 
     type: "POST", 
     cache: false, 
     dataType: 'json', 
     success: function (savingStatus) { 
      alert("success"); 
     }, 
     error: function (xhr, ajaxOptions, thrownError) { 
      alert("error") 
     } 
    }); 

}); 
+0

多くのおかげです。 実際に動作しますが、1つの問題です。私が1行を選択すると、table.data()は自分のデータだけでなく、さらに多くの情報を返します。 '{" 0 ":{" name ":" mustermann "、" surname ":" must " : "[email protected]"、 "check ed":false}、CONTEXT:[{"oFeatures":{"bAutoWidth":true、 "bDeferRender":false、.........} 。 クライアントサイトでは、「コンテキスト」なしで自分のデータのみを分割することは可能ですか? –

+0

この問題を解決するには、配列に '.get()'を追加する必要があります.. check http://stackoverflow.com/questions/16200215/stringify-of-js-object-adds-extra-data – CMedina

関連する問題