ExtJs处理JSON

                showProcessMsg('正在保存数据, 请稍侯','正在保存中');
                Grid.stopEditing();
                var modifiedItems = Grid.getStore().modified;
                var jsonData = convertRecordsToJson(modifiedItems);
                form.submit({//form为html定义的form,此处用baseform
                        url:'xxxxxxxxxxxx.jsp',
                        method:'POST',
                        params:{data:jsonData},
                        successform,action){
                                Ext.MessageBox.hide();
                                Ext.MessageBox.alert('提示', '数据保存成功!共添加'+action.result.insertcount+'条,更新'+action.result.updatecount+'条.');
                        },
                        failure:form,action){
                                Ext.MessageBox.hide();
                                showError('错误', action.result.errors);
                        };
                });
//该函数用于将编辑过的Grid中的数据行对应的Store中的数据项转换成JSON
function convertRecordsToJson(items)
{
       if(items.length==0)
       {
           return '';
       }
       var  jsonData = "[";
        for(i=0;i<items.length;i++) {
                record = items;
                if(record.dirty) {
                        jsonData += Ext.util.JSON.encode(record.data) + ",";
                }
        }                                         
      jsonData = jsonData.substring(0,jsonData.length-1) + "]";     
      return jsonData;
}

 

 

 

 

               Ext.Ajax.request({
                        url : 'xxxxxxxxxx.jsp'
                        method : 'post',
                        success : function(response, options) {
                                var results = Ext.util.JSON.decode(response.responseText);
                                alert(results.XXX);
                               
                        },
                        failure : function() {
                                ....
                        }
                })

 

 

<div>
这里是一个简单的请求。
</div>
<div id="subButton"></div>
<textarea id="log" cols="40" rows="10"></textarea>
 
<script type="text/javascript">
function doJSON(stringData) {
try {
var jsonData = Ext.util.JSON.decode(stringData);
Ext.MessageBox.alert('Success', 'Decode of stringData OK<br />jsonData.date = ' + jsonData.date);
}
catch (err) {
Ext.MessageBox.alert('ERROR', 'Could not decode ' + stringData);
}
}
 
function doAjax() {
Ext.Ajax.request({
url : 'ajax.php' ,
params : { action : 'getDate' },
method: 'GET',
success: function ( result, request) {
var textArea = Ext.get('log').dom;
textArea.value += result.responseText + "/n";
//Ext.MessageBox.alert('Success', 'Data return from the server: '+ result.responseText);
doJSON(result.responseText);
},
failure: function ( result, request) {
Ext.MessageBox.alert('Failed', 'Successfully posted form: '+result.date);
}
});
}
 
var button = new Ext.Button('subButton', {
text: 'Click to submit an AJAX Request',
handler: doAjax
});
</script>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值