listeners : {
         'afteredit' : function(e) {
         Ext.Ajax.request({
         url : 'maintanance_do.jsp',
         params : {
             type:31,
         fieldName : e.field,
         fieldValue : e.value,
         id : e.record.data.id
         },
         success : function() {
          alert("数据修改成功!");
         },
         failure : function() {
         Ext.Msg.show({
         title : '错误提示',
         msg : '修改数据发生错误,操作将被回滚!',
         fn : function() {
         e.record.set(e.field, e.originalValue);
         },
         buttons : Ext.Msg.OK,
         icon : Ext.Msg.ERROR
         });
         }
         }
这是我为editorgridpanel增加的一个事件,编辑数据后将数据传到后台,后台执行一下插入后,返回这类格式的数据{success:true}/{success:false}然后出发前台的success的函数,或者failure函数,
现在奇怪的事不论{success:true}还是{success:false}形式,它总是success的函数,报插入成功,明明是{success:false}它也报插入成功,这是为什么,请高手指教???

解决方案 »

  1.   

    Ext.Ajax.request({
    这个的success和failure只是简单地判断网络是否有异常,如果网络不通,才会failure
    不管你后台返回 {success:}是true还是false,都是一个object,网络没有问题 所以都是successExt.Ajax.request({
    success : function(r) {
      r = Ext.decode(r.responseText);
      if(r.success)
           alert("数据修改成功!");
    },
      

  2.   

    怎么又是EXT的,看来EXT用的人还真不少!
      

  3.   

    是的,你应该要在success里判断后台的返回值