2016-03-21 13 views
0

文字列を連結してデータテーブルに渡そうとしていますが、静的な文字列を置くとサーブレットからデータを取得できますが、それは動的なデータだjavascriptを使用してデータテーブル内のdataSetをレンダリングする方法

function getMsgHandler(responseTxt, statusTxt, xhr) { 
    alert(responseTxt); 
    if (statusTxt === "success") { 
     products = responseTxt; 
     var s = ""; 
     for (i = 0; i < products.length; i++) { 
      if (i === 0) { 
       s = s + '[' + products[i].productID + ', "' + products[i].name + '", "' + products[i].description + '", "' + products[i].img + '", ' + products[i].price + ' ]'; 
      } else { 
       s = s + ', [' + products[i].productID + ', "' + products[i].name + '", "' + products[i].description + '", "' + products[i].img + '", ' + products[i].price + ']'; 
      } 
     } 
     dataSet = '[ ' + s + ' ]'; 
     $('#example').DataTable({ 
      data: dataSet 
     }); 
    } 
} 

としてループを使用して、私はそれがこの形式のよう

var dataSet = [ 
    ["m", "System Architect", "Edinburgh", "5421", "2011/04/25", "$320,800"], 
    ["Ashton Cox", "Junior Technical Author", "San Francisco", "1562", "2009/01/12", "$86,000"], 
    ["Cedric Kelly", "Senior Javascript Developer", "Edinburgh", "6224", "2012/03/29", "$433,060"], 
    ["Airi Satou", "Accountant", "Tokyo", "5407", "2008/11/28", "$162,700"] 
]; 
+0

Iトンをあなたが持っているデータと、あなたが望むものを私たちに示すなら、それはかなり簡単になるでしょう。サーバーを制御する場合、正しい形式を直接出力するほうが簡単でしょう。 – adeneo

+0

フォーマットは配列の配列です。あなたはそれをその観点からアプローチしなければならず、角括弧が連結された文字列ではありません。 –

答えて

0

になりたい代わりに以下のコードを使用します。

function getMsgHandler(responseTxt, statusTxt, xhr) { 
    if (statusTxt === "success") { 
     $('#example').DataTable({ 
      data: responseTxt, 
      columns: [ 
       { data: 'productID' }, 
       { data: 'name' }, 
       { data: 'description' }, 
       { data: 'img' }, 
       { data: 'price' } 
      ] 
     }); 
    } 
} 
+0

それは私と一緒には使えませんでした! –

+0

@AyaRadwan、 'responseTxt'の内容を投稿してください。 –

関連する問題