在easyUI中,用ajax提交数据时,如果如下图处理,会造成前端datagrid渲染异常,虽然debug时能看到数据:
$.ajax({
url: $url,
。
。
success: function (data,result) {
$widget.datagrid('loadData', data);
因为在于success: function (data,result) 的第2个参数,虽然官方资料带2个参数,但稍不注意就会异常。
纠正:如果在json数据中,做好判断,能正常取出数据,下面就手工组装JSON时加了status参数,如下:
后端:
json = "{\"status\":" + 1 + ",\"msg\":" + "\"操作成功\"" + ",\"total\":" + page.getTotalRow() + ",\"rows\":" + json;
前端:
success: function (result) {
if (result.status === 1) {
$widget.datagrid('loadData', result.rows);
ajaxLoadEnd();
$.slideMsg($.I18N('查询成功'));
}else{
ajaxLoadEnd();
$.alert($, result.msg);
}
这样,datagrid的load就正常了。
本文介绍了使用EasyUI中的datagrid组件加载数据时遇到的问题及解决方法。通过在后端返回带有状态码的状态信息,前端根据状态码判断是否加载数据,避免了因参数问题导致的数据加载异常。
152

被折叠的 条评论
为什么被折叠?



