¡PostData no pasa ningún parámetro!

No puedo ver ningún valor de parámetros pasando al servidor en Firebug. Aquí está el código.

//BuyBackGridInit() start function BuyBackGridInit(tabID){ $('table[id$="'+tabID+'_BuyBackGrid"]').jqGrid({ url :'/Controls/Advertiser/BuyBackControlNew.ascx.ashx?action=getBuyBackData', datatype: 'json', mtype: 'POST', height:'100%', width:'100%', colNames: result.colNamesData, colModel: result.colModelData, postData: { advertiserID: function() { return $('#advertiser_id').text(); }, CampaignsDdlSelectedValue: function() { return $('select[id$="CampaignDdl"] option:selected').val(); }, startDate: function() { return $('input[id$="'+tabID+'_FromCalBuyBack_CalendarTbx"] ').val(); }, endDate: function() { return $('input[id$="'+tabID+'_ToCalBuyBack_CalendarTbx"] ').val(); } }, rowNum : 100, shrinkToFit :false, altRows: true, altclass:'altRow', autowidth: true, multiselect: true, gridComplete:function (){ var recs = parseInt( $('table[id$="'+tabID+'_BuyBackGrid"]').getGridParam("records"),10); if (recs == 0){ $('div[id$="'+tabID+'_NoDataFoundBuyBackdiv"]').show(); $('input[id$="AddToCartBtn"]').hide(); $('input[id$="BuyBackDownloadBtn"]').hide(); } else { $('div[id$="'+tabID+'_NoDataFoundBuyBackdiv"]').hide(); $('input[id$="AddToCartBtn"]').show(); $('input[id$="BuyBackDownloadBtn"]').show(); } }, serializeGridData: function (data){ return $.toJSON(data); } });//end of jQuery("#BuyBackGrid").jqGrid() }//BuyBackGridInit() End 

Gracias,

UN

La implementación actual de serializeGridData simplemente elimina todos los parámetros de funciones de postData . Por lo tanto, debe ampliar data parámetro de data dentro de serializeGridData lugar del uso de postData . Otra forma es modificar serializeGridData a lo siguiente:

 serializeGridData: function (data){ var propertyName, propertyValue, dataToSend = {}; for (propertyName in data) { if (data.hasOwnProperty(propertyName)) { propertyValue = data[propertyName]; if ($.isFunction(propertyValue)) { dataToSend[propertyName] = propertyValue(); } else { dataToSend[propertyName] = propertyValue } } } return JSON.stringify(dataToSend); } 

En el código anterior enumeramos todas las propiedades y llamamos a todas las funciones de forma explícita. Además, prefiero usar la función JSON.stringify de json2.js . La función se implementará de forma nativa en muchos navegadores web.

Vea la demostración aquí .