2017-03-15 52 views
0

我有一個問題從JSON數據填充jsgrid,我已經縮小了代碼到一個非常小的實現,但它仍然無法正常工作。 我可以在Chrome調試器中看到,這種格式的REST調用返回的數據JSGrid - 加載JSON數據 - 「未找到」

{數據:[{「名稱」:「我的帳戶」}]}

任何人誰可以看到什麼是錯的?

<script> 
 
    
 

 
    $(function() { 
 

 
     $("#jsGrid").jsGrid({ 
 
      height: "auto", 
 
      width: "100%", 
 

 
      sorting: true, 
 
      paging: false, 
 
      autoload: true, 
 
      
 
      controller: { 
 
       loadData: function (filter) { 
 
        console.log(filter); 
 
        return $.ajax({ 
 
         type: "GET", 
 
         url: "http://localhost:8888/GetListJSGrid", 
 
         data: filter, 
 
         dataType: "json" 
 
        }); 
 
       } 
 
      }, 
 
      
 
      fields: [ 
 
      { name: "Name", type: "text", width: 150 } 
 
      ] 
 
     }); 
 
    });

回答

0

好吧,我解決了。看起來這個文檔沒有爲JSGrid更新,或者我在這裏漏掉了一些東西。

通過比較下面的鏈接響應工作在JSGrid

ODataTest

我注意到下面的JSON由JSGrid 接受{「值」:[{「名稱」:「我的帳戶「}}}

2

返回數據的格式應該是項目數組,而不是帶有data字段的JSON對象。

請注意,對於頁面加載(pageLoading: true),此格式不同:{ data: [arrayOfItems], totalCount: amountOfItems }

對於你上面的代碼可以做到以下幾點:

loadData: function (filter) { 
    console.log(filter); 
    return $.ajax({ 
     type: "GET", 
     url: "http://localhost:8888/GetListJSGrid", 
     data: filter, 
     dataType: "json" 
    }).then(function(result) { 
     return result.data; 
    }); 
}