当write .out({"success":true,"error":{"resultcode":0}})。 这样的数据时,页面根据resultcode判断成功的原因:进入成功逻辑----
success: function ( result, request ) {
var resultJson=Ext.decode(result.responseText);//这个时候得到返回的这个json字符串。此时可以resultJson.resulrCode==0,利用json对象来操作这个字符串。
这里还有一种情况是write .out({"success":true,"error":[{"resultcode":0}]})。//alert(resultJson.errorList[0].errorCode);这个方法就可解决嵌套json字符串 数组问题
当write .out({"success":false,"error":{"resultcode":1}})。这样的数据时
页面根据resultcode判断失败的原因:
failure: function(form,action) {
var resultJson=Ext.decode(action.result.error.resultcode);
alert(action.result.error.resultcode);// 1
if(action.result.error.resultcode=='1') {
Ext.Msg.alert('<bean:message bundle="common" key="js.message.systemInfo"/>', '保存失败:数据重复,每个提供商针对每个设备只能有一个版本的数据');
}
这时已经在action.result把字符串封装成jsonobject对象了。可以进行操作。
以上方经典的地方就是:
Ext.decode(str)这个方法的使用,可以吧字符串转换为jsonobject对象。 而action已经被EXT封装好了。可以直接用作jsonobject。
对编辑editorgrid注意的事项:
beforeedit:function(e){ if(e.record.get('sdkVersion')!=''){ if (e.field == 'sdkVersion') return false; return true; } },
可以对指定的列阻止编辑