2013-09-25 36 views
0

我有一個OnDemandGrid設置來顯示我正在處理的項目的產品數據(稱爲部件)。我目前在產品數據庫中只有兩個條目。dgrid的OnDemandGrid不斷髮送請求到服務器

我的OnDemandGrid只設置了基本選項:存儲和列。我希望這將是一個虛擬的滾動網格。該商店被設置爲JsonRest商店,具有緩存

當我打開頁面並啓動網格時,會發生什麼情況,網格會不斷向服務器發送連續數據請求 - 每秒約2個請求。

我也意識到,對於只有兩行的網格,它的右側有一個滾動條。當我嘗試使用此滾動條滾動時,我發現網格似乎閃爍並重置自身。多次。

我懷疑虛擬滾動功能是做一些時髦,不知何故不承認只有兩個條目。有人能幫我解決嗎?如果有必要,我願意提供更多細節。

這裏是我的代碼的方式:

require(["dgrid/OnDemandGrid", "dojo/store/Memory", "dojo/store/Cache"], function(OnDemandGrid, Memory, Cache){ 

     var partsCache = new Memory(); 
     App.Store.parts = new Cache(partsMaster, partsCache); 

     var grid = new OnDemandGrid({ 
       store: App.Store.parts, 
       columns: { 
        name:'Part Name', 
        part_no:'Part Number' 
       }, 

      }, "grid"); 

     grid.startup(); 
    }) 

partsMaster是早期定義的JsonRest店(目前全球 - 以旋網格)中的代碼。我已經做了一些測試來安全地確定JsonRest不是問題。

這裏是網格的截圖當前(注意滾動條的存在): enter image description here

任何幫助表示讚賞!

編輯:連接是從鍍鉻的第一個請求響應頭的屏幕截圖: enter image description here

+0

您還可以提供有關發送到服務器的前幾個查詢的信息嗎?具體來說,包括請求和響應頭文件。這裏最常見的問題是該服務沒有正確設置Content-Range標頭。 –

+0

@KenFranqueiro,上面問題中添加的第一個請求/響應頭的屏幕截圖。謝謝! – asyraf9

回答

1

基於它看起來像你的反應是不包括內容範圍頭,這是什麼dojo/store/JsonRest用來截圖告知本套結果的總數。雖然我不確定這會導致你無限的問題,但肯定會造成問題。

Content-Range標題應該看起來像例如Content-Range: items 0-24/500(假設500是結果集中項目的總數)。

請參閱http://dojotoolkit.org/reference-guide/1.9/quickstart/rest.html瞭解有關JsonRest如何預期服務行爲的更多信息。

如果這不能完全解決問題,我也很好奇,以驗證響應正文確實產生正確的結果子集。

編輯:基於我今天在dgrid問題上的交互,問題可能是您的服務實際上基於查詢返回不正確的結果數量。請參閱these comments on #691

+0

這是做到了。謝謝!並感謝鏈接到詳細的休息服務器指南。不知道存在。乾杯! – asyraf9