2011-09-29 187 views
2

我的网格数据读取配置为使用json格式。 这是配置jqgrid发布请求数据json

url:"devitem.json", 
    mtype: "POST", 
    datatype: "json", 

    ajaxGridOptions: { 
     type : 'post', 
     async : false, 
     error : function() { alert('Something bad happened. Stopping');}, 
    }, 

    jsonReader : { 
     root  : "rows", 
     page  : "page", 
     total  : "total", 
     records  : "records", 
     repeatitems : true, 
     cell  : "cell", 
     id   : "0", 
     userdata : "userdata", 
    }, 

从客户的读请求发送总是以这种格式参数:

_search =假& ND = 1317286048991个&行= 25 &页= 1 & SIDX = DEVICE_ID & SORD = asc & totalrows = 100 如何将其转换为json格式?

我还设置POSTDATA选项

postData : JSON.stringify({"dev_post_reqtype":"read","dev_post_devndx":"1","dev_post_reccount":"55"}), 

它工作,但obiuovsly不能改变

我有这个问题,寻呼机。对于变更后的测试页号我调用这个函数

function DEVpager_event(pgevent) { 

var page = jQuery("#DEVtbl").getGridParam('page'); 
    alert (pgevent+page) ; 

// changed devndx for test only 
var jdata = JSON.stringify({"dev_post_reqtype":"read","dev_post_devndx":"25","dev_post_reccount":"55"}) ; 

的jQuery( “#DEVtbl”)的jqGrid( 'setGridParam', 'POSTDATA',jdata)。 };

页改变我的选择,但如果我理解正确你的问题,你应该在使用serializeGridData有关下列形式POSTDATA不改变 感谢您的帮助

回答

4

serializeGridData: function(postData) { 
    return JSON.stringify(postData); 
} 

如果您需要发送其他一些数据到服务器,你可以使用另外

postData: { 
    dev_post_reqtype: "read", 
    dev_post_devndx: "1", 
    dev_post_reccount: "55" 
} 

postData: { 
    dev_post_reqtype: "read", 
    dev_post_devndx: 1, 
    dev_post_reccount: 55 
} 

取决于你需要(字符串或整数)dev_post_devndxdev_post_reccount属性的类型。

+0

谢谢!有人应该将此标记为答案。它按预期工作。 –

+0

@AmithGeorge:不客气! – Oleg

-1

的jqGrid的单证...可能是最糟糕我见过

尝试用这个例子:

$("#wlistt").jqGrid('navGrid','#pagerwlist', 
     { add: true, edit: true, del: true }, 
     {// settings for edit 
         afterShowForm:afterShowEdit, 
         afterSubmit:processAddEdit, 
         beforeSubmit:validateData, 
         closeAfterAdd: true, 
         closeAfterEdit: true 
       } 
       ,{// settings for add 
         afterShowForm:afterShowAdd, 
         afterSubmit:processAddEdit, 
         beforeSubmit:validateData, 
         closeAfterAdd: true, 
         closeAfterEdit: true 
       } 
       ,{} // settings for delete 
     ); 

    } 
} 
function afterShowEdit(formId) { 
      alert('show_edit');   
} 
function afterShowAdd(formId) { 

     alert('show_add'); 
} 
function processAddEdit(formId) { 

     alert('proc_add'); 
} 
function validateData(formId) { 

     alert('val_dat'); 
}