1

我正在使用 CodeIgniter 和 JQuery 开发应用程序。我在这里阅读了关于删除的 jqgrid 错误消息和这里来自服务器端异常的 jqGrid 错误消息关于这个问题的一些问题,但事实是这对我不起作用。

在我的数据库中,我以索引、检查等形式设置了一些业务规则。当我遇到这些类型的错误时,我需要自定义 jqGrid 返回的“错误状态:'error'。错误代码:500”。我会很感激任何帮助。这是我的 jquery 网格代码。

<script type="text/javascript">
    var base_url = 'http://localhost/sp/';
    var site_url = 'http://localhost/sp/index.php';
    var url = '';

        $(document).ready(function() {

           var grid = jQuery("#newapi_1351019084").jqGrid({
                    ajaxGridOptions : {type:"POST"},
                       jsonReader : {
                       root:"data",
                       repeatitems: false
                   },
                   ondblClickRow: function(id){
                       dtgLoadButton1();

                        return;
                       },
                    rowList:[10,20,30],
                    viewrecords: true
                   ,url:'http://localhost/sp/index.php/assigment/getData'
,editurl:'http://localhost/sp/index.php/assigment/setData'
,datatype:'json'
,rowNum:'13'
,width:'800'
,height:'300'
,pager: '#pnewapi_1351019084'
,caption:'Control de asignaciones'
,colModel:[
{name:'username',index:'username',label:'Usuario' ,align:'left',width:300,editable:false,edittype:'text',editrules:{required:true}  }
,{name:'StoreName',index:'StoreName',label:'Tienda' ,align:'center',width:200,editable:false,edittype:'text',editrules:{required:true}  }
,{name:'Users_idUsers',index:'Users_idUsers',label:'Usuario' ,align:'center',width:100,hidden:true,editable:true,edittype:'select',editoptions:{value:":Select;5:tienda1;6:tienda2;17:tienda3;18:tienda11",size:10},editrules:{edithidden:true,required:true,integer:true}  }
,{name:'Stores_idStores',index:'Stores_idStores',label:'Tienda' ,align:'center',width:100,hidden:true,editable:true,edittype:'select',editoptions:{value:":Select;1:EA001;3:EA003;4:EA005;5:EA006;6:EA007;7:EA008;8:EA009;9:EA010;10:EA011;11:EA012;12:EA013;13:EA015;14:EA017;15:EA018;16:EA019;17:EA020;18:EA021;19:EA022;20:EA002;21:EA000",size:10},editrules:{edithidden:true,required:true,integer:true}  }
,{name:'SurrugateTurn',index:'SurrugateTurn',label:'SurrugateTurn' ,align:'center',width:100,key:true,hidden:true,editable:true,edittype:'select',editoptions:{value:":Select;1:1;3:3;2:2",size:10},editrules:{hidden:true}  }
]               })
              jQuery("#newapi_1351019084")
            .jqGrid('navGrid',
            '#pnewapi_1351019084',
            {view:false,
            edit:'1',
            add:'1',
            del:'1',
            close:true,
            delfunc: null ,
            search:''
        },
        { recreateForm: true, 
        width : 400 ,
        beforeShowForm : function(form) {

         },
        closeAfterEdit:true }, // edit options

        {  recreateForm: true,
        width : 400,
        closeAfterAdd : true,
         beforeSubmit : function(postdata, formid) {
         var mensaje = '';
         var resultado = true;




          return[resultado,mensaje]; 
        }
        }, /*add options*/

        {mtype: 'POST'} /*delete options*/,
        {sopt: ['eq','cn','ge','le' ] ,     
        multipleSearch: false ,
        showOnLoad : false,
        overlay:false,mtype: 'POST'} /*search options*/
        ).navButtonAdd('#pnewapi_1351019084',
                { caption:'', buttonicon:'ui-icon-extlink', onClickButton:dtgOpenExportdata, position: 'last', title:'Export data', cursor: 'pointer'}
                );
;
        });
</script>

最好的问候和感谢您的时间,

4

1 回答 1

4

假设服务器返回带有 HTTP 500 响应的用户友好错误消息,您可以简单地这样做:

...
{ recreateForm: true, 
    width : 400 ,  //removed the empty beforeShowForm callback
    errorTextFormat:function(data){
      if (data.status == 500) 
        return data.responseText;  // You may need to do some HTML parsing here
    }
    closeAfterEdit:true }, // edit options
...
于 2012-11-09T10:56:42.233 回答