ExtJS RESTful 服务无法处理 json 数据
ExtJS RESTful service fail to handle json data
我实现了简单的 RESTful 服务。这些是 Rest 请求 url 和响应 json 数据。
http://localhost:8080/RESTfulTestWeb/rest/services/getJson/aupres
{"id":"aupres","passwd":"aaa","age":45,"name":"joseph"}
问题是 ExtJS Store 对象客户端无法处理上述 json 数据。这些是 ExtJS 客户端代码
Ext.define('extjs.model.Member', {
extend: 'Ext.data.Model',
fields : [{
name : 'id',
type : 'string'
}, {
name : 'passwd',
type : 'string'
}, {
name : 'age',
type : 'int'
}, {
name : 'name',
type : 'string'
}]
});
Ext.onReady(function () {
var members = Ext.create('Ext.data.Store', {
model : 'extjs.model.Member',
//autoLoad : true,
proxy: {
type: 'rest',
url : 'http://localhost:8080/RESTfulTestWeb/rest/services/getJson/aupres',
reader: {
type: 'json',
root: 'id',
},
writer: {
type: 'json'
},
listeners: {
exception: function(proxy, response, operation){
Ext.MessageBox.show({
title: 'REMOTE EXCEPTION',
msg: operation.getError(),
icon: Ext.MessageBox.ERROR,
buttons: Ext.Msg.OK
})
}
}
},
listeners: {
load: function(members, operation, success) {
if(success) {
alert('response : ' + members.model.length)
} else {
alert('it failed')
}
}
}
})
var onButtonClick = function() {
members.load()
}
响应如下图
"response : 0"
我的 ExtJS 代码似乎无法包含 json 数据。
ExtJs 5 及更高版本中的其余代理 reader 查找 rootProperty:
而不是 root:
。
HI 您可以覆盖 class 的 toString() 方法。那么你可以得到准确的。
就像您想要 ["id":"aupres","passwd":"aaa","age":45,"name":[ 上的数据一样=20=]}]
或其他格式
我实现了简单的 RESTful 服务。这些是 Rest 请求 url 和响应 json 数据。
http://localhost:8080/RESTfulTestWeb/rest/services/getJson/aupres
{"id":"aupres","passwd":"aaa","age":45,"name":"joseph"}
问题是 ExtJS Store 对象客户端无法处理上述 json 数据。这些是 ExtJS 客户端代码
Ext.define('extjs.model.Member', {
extend: 'Ext.data.Model',
fields : [{
name : 'id',
type : 'string'
}, {
name : 'passwd',
type : 'string'
}, {
name : 'age',
type : 'int'
}, {
name : 'name',
type : 'string'
}]
});
Ext.onReady(function () {
var members = Ext.create('Ext.data.Store', {
model : 'extjs.model.Member',
//autoLoad : true,
proxy: {
type: 'rest',
url : 'http://localhost:8080/RESTfulTestWeb/rest/services/getJson/aupres',
reader: {
type: 'json',
root: 'id',
},
writer: {
type: 'json'
},
listeners: {
exception: function(proxy, response, operation){
Ext.MessageBox.show({
title: 'REMOTE EXCEPTION',
msg: operation.getError(),
icon: Ext.MessageBox.ERROR,
buttons: Ext.Msg.OK
})
}
}
},
listeners: {
load: function(members, operation, success) {
if(success) {
alert('response : ' + members.model.length)
} else {
alert('it failed')
}
}
}
})
var onButtonClick = function() {
members.load()
}
响应如下图
"response : 0"
我的 ExtJS 代码似乎无法包含 json 数据。
ExtJs 5 及更高版本中的其余代理 reader 查找 rootProperty:
而不是 root:
。
HI 您可以覆盖 class 的 toString() 方法。那么你可以得到准确的。
就像您想要 ["id":"aupres","passwd":"aaa","age":45,"name":[ 上的数据一样=20=]}] 或其他格式