1
(ASMX)
我有一個jqGrid的設置後使用應用程序/ JSON的內容類型的URL:的jqGrid調用WebService的使用JSON
$("#jqCategoryGrid").jqGrid({
datatype: "json",
mtype: 'POST',
url: "Webservices/TroubleTicketCategory.asmx/getCategoryData",
ajaxGridOptions: { contentType: 'application/json; charset=utf-8' },
// **UPDATE - This is the fix, as per Oleg's response**
serializeGridData: function (postData) {
if (postData.searchField === undefined) postData.searchField = null;
if (postData.searchString === undefined) postData.searchString = null;
if (postData.searchOper === undefined) postData.searchOper = null;
//if (postData.filters === undefined) postData.filters = null;
return JSON.stringify(postData);
},
});
的問題是,jqGrid的仍試圖通過參數使用非json格式,所以我得到一個錯誤「無效的JSON原始」
有沒有辦法指示jqGrid使用Json序列化數據?
感謝
UPDATE
我編輯我的問題提供的源代碼,包括我以前的修復,這些來自以下奧列格的響應。
我該怎麼辦呢?從所有我可以看到,jqGrid是黑盒子,並在後臺處理所有數據序列化。是否有方法或屬性或我可以指定在網格的init中指示它執行此操作? – bugfixr 2010-08-05 01:06:29
我不明白你的問題。在http://stackoverflow.com/questions/2675625/setting-the-content-type-of-requests-performed-by-jquery-jqgrid/2678731#2678731我展示了一個使用'serializeRowData'的jqGrid代碼片段。就此功能而言,您可以在發送到服務器的數據下進行完全控制。你有一個數據對象,數據將被髮送,你可以在字符串中進行轉換,而不受限制。此外,jqGrid的完整代碼可以免費下載並學習其他一些功能。所以它不是一個黑盒子。這是一個我看到的開放盒子。 – Oleg 2010-08-05 01:27:01
您發送的引用URL包含答案。我會更新我的帖子以反映這一點。 還有一個問題 - 有沒有辦法讓我的表單編輯序列化數據?它似乎沒有使用與主加載方法使用的相同的「serializeGridData」。 – bugfixr 2010-08-05 14:59:35