2017-09-04 6 views
2

ajaxコマンドからjQuery Datatbleを取り込むことはできません。jquery datatable webAPIからincorect jsonを受け取ります

これはWEBAPIコード(UtentiController)です:

' GET: api/Utenti 
    <HttpGet> 
    Public Function GetUtentis() As IEnumerable(Of Utenti) 
     Using WFe As WorkForceEntities = New WorkForceEntities 
      Return WFe.Utentis.ToList 
     End Using 
    End Function 

これは、クライアント側のコードです:

<script> 
    $(document).ready(function() { 
     var oTable = $('#myDatatable').DataTable({ 
      paging: true, 
      sort: true, 
      searching: true, 
      "ajax": { 
       "url": '/api/utenti/', 
       "type": "get", 
       "datatype": "json", 
       error: function (xhr, status, error) { 
        alert(xhr.responseText); 
       } 
      }, 
      "columns": [ 
       { "data": "Nome", "autoWidth": true }, 
       { "data": "Cognome", "autoWidth": true }, 
       { "data": "Username", "autoWidth": true }, 
       { "data": "GruppoDiLavoro", "autoWidth": true }, 
       { "data": "ProfiloFunzionalità", "autoWidth": true }, 
       ] 
     }) 


    }) 
</script> 

私は問題はJSON文字列であると思います。最初の部分が欠落しアヤックスコマンドの戻り間違ったJSON、{ "データ":

[ { "IDutente":2、 "Operatore": "管理者"、 "パスワード":「1234 」、 "LivelloDiAccesso":1、 "ノーム": "管理者"、 "Cognome": "管理者"、 "ユーザー名": "管理者"、 "GruppoDiLavoro": "管理者"、 "ProfiloFunzionalità": "Admin"、 "Attivo":true、 "DataCreazione": "2017-08-30T00:00:00"、 "DataScadenza": "2025-12-31T00:00:00"、 "メール": "何" }、{ "IDutente":3、 "Operatore": "MS"、 "パスワード" : "1234"、 "LivelloDiAccesso":2、 "ノーム": "管理者"、 "Cognome": "S"、 "ユーザー名": "M"、 "GruppoDiLavoro": "管理者"、 」"DataCreazione": "2017-08-30T00:00:00"、 "DataScadenza": "2025-12-31T00:00:00"、 "、"ProfiloFunzionalità ":" Admin "、 " Attivo "メール ":"無し " } ]

このようなjsonファイルをロードすると("ajax": "../UtentiData。JSON "

{ " データ ":[{ " ユーザーID ":2 " オペレーター ":" 管理者 " " パスワード"、 "1234"、 " LivelloDiAccesso」 1、 "名前": "管理者"、 "姓": "管理者"、 "ユーザー名": "管理者"、 "GruppoDiLavoro": "管理者"、 "ProfiloFunzionalità": "管理者"、 「アクティブ":真、 " DateCreated ":" 2017-08-30T00:00:00 " " DataScadenza ":" 2025-12-31T00:00:00"、 "メール": "何" }、 { "ユーザーID":3、 "オペレータ"、 "MS"、 "パスワード"、 "1234"、 "LivelloDiAccesso":2 "名前": "管理者"、 "姓"、 "S"、 "ユーザー名"、 "M"、 "GruppoDiLavoro": "管理者"、 "ProfiloFunzionalità": "管理者"、 "アクティブ":真、 「DateCreated ":" 2017-08-30T00:00:00 " " DataScadenza ":" 2025-12-31T00:00:00"、 " メール ":" 何「 }]}

コードワークウェルとjQueryは正しくDataTableの移入です。

私はJSON WebAPIの終了で動作するように何ができるのでしょうか? おかげ

答えて

1

あなたは「フラットな配列データ・ソース」を使用することができます。

にコードを変更し

<script> 
$(document).ready(function() { 
    var oTable = $('#myDatatable').DataTable({ 
     paging: true, 
     sort: true, 
     searching: true, 
     "ajax": { 
      "url": '/api/utenti/', 
      "type": "get", 
      "dataSrc": "", 
      error: function (xhr, status, error) { 
       alert(xhr.responseText); 
      } 
     }, 
     "columns": [ 
      { "data": "Nome", "autoWidth": true }, 
      { "data": "Cognome", "autoWidth": true }, 
      { "data": "Username", "autoWidth": true }, 
      { "data": "GruppoDiLavoro", "autoWidth": true }, 
      { "data": "ProfiloFunzionalità", "autoWidth": true }, 
      ] 
    }) 


}) 

exampleを参照してください。

+0

グッド!作業指示。感謝します。 – Marco

+0

今私は別の問題を抱えています。私は「/ API /ユーザー/ 1」のようなURLを使用する場合は、DataTableのは、「テーブル内のデータなし」レポート!!問題はどこにあるのでしょうか? – Marco

+0

は、あなたのWebブラウザでURLを開き、利用可能なデータがあるかどうかを確認しましたか? – kangaro0

関連する問題