我正在嘗試使用ASP.Net Web服務中的數據填充Dojo網格。將會有很多行,所以我想在服務器端實現分頁,因此Web服務將接受參數「start」和「count」。我已經非常接近了,通過使用QueryReadStore並重寫「fetch」函數來添加其他參數(Web服務不僅僅需要啓動和計數)。如何使用ASP.Net Web服務中的數據填充分頁的Dojo.Grid?
我遇到的直接問題是Web服務將數據作爲XML返回。我相信這是因爲請求不包含指示json偏好(網格需要)的Content-Type頭。我正在使用Http-Post而不是默認的Get。是一個ResponseFormat屬性應該覆蓋這個?它不適合我。
那麼,我如何獲得數據爲json?或者,我是否在吠叫錯誤的樹?將網格和Web服務粘合在一起似乎是一件非常常見的事情。 Dojo是否有任何內置功能,我只是不知道?
感謝
看起來好像它會允許dojo處理xml返回數據,但是它如何適應dojo網格的自動分頁?在上下文中,我從http://www.linuxjournal.com/article/10380結尾開始。看起來我應該避免對Web服務進行顯式調用,而只是操作請求對象。像你所建議的那樣向它添加標題似乎沒有做到,儘管我可能沒有做到這一點。 – bmm6o 2009-11-16 17:56:44
調用dojo.xhrPost會請求數據的每個單獨的頁面...所以他們會自動返回您的獲取函數內的正確頁面。如果你想在一個AJAX請求中獲取所有的數據(所有頁面),你將冒着破壞分頁目的的風險(通過等待巨大的響應回來) – JasonWyatt 2009-11-16 18:22:21
添加接受標題didn'不要做詭計。 Firebug顯示它是作爲請求的一部分發送的,但數據仍以xml形式返回。據我所知,手柄也沒有做任何事情。響應對象只是作爲Xml DOM返回,而不是網格能夠使用的任何類型的集合。此外,從我所知道的情況來看,我最好不要從我的抓取覆蓋中調用xhrPost。 http://docs.dojocampus.org/dojox/data/QueryReadStore使我聽起來好像我應該在完成時調用基本版本,當我看它時,它會添加成功和失敗處理程序。 – bmm6o 2009-11-16 21:45:43