【发布时间】:2014-10-22 13:00:31
【问题描述】:
我目前正在将表单升级到 ExtJS 5。 它应该向以 XML 响应的 Web 服务发送请求。由于 ExtJS 默认需要 JSON,所以我根据文档设置了一个自定义的 errorReader:
errorReader: new Ext.data.XmlReader({
record: 'error',
success: '@success'
}, [
'id', 'msg'
]
)
服务器的原始响应是:
HTTP/1.0 200 OK
Content-Type: text/xml
Content-Length: 150
Expires: Mon, 20 Oct 2014 10:00:53 GMT
<?xml version="1.0" encoding="Windows-1252"?>
<message success="false"><errors><error><id>-1</id><msg>FieldMissing</msg></error></errors></message>
收到响应后,我在页面中看到如下错误(翻译自德语):
Error: Property "scheme" can not be obtained from an undefined or null referenced object
Row: 48503
Source: ext-all-debug.js
它发生在执行以下操作的“extractData”函数中:
entityType = readOptions && readOptions.model ? Ext.data.schema.Schema.lookupEntity(readOptions.model) : me.getModel(),
schema = entityType.schema,
readOptions 是未定义的,所以 me.getModel() 会返回未定义,尽管我在 errorReader 中定义了一个带有 id 和 msg 的模型。然后 entityType 未定义导致上述错误。
我不明白,我做错了什么。请帮忙。在此先感谢:)
【问题讨论】:
标签: javascript xml forms extjs response