我在获取kendo ui数据源对象中的数组值时出现问题。我已经搜索并尝试了许多解决方案,但在3周内还没有找到解决方案。基本上我想获得一个名为'base64img'的数组的值,该数组在Kendo UI数据源中被指定为一个字段,但是我一直无法访问数组的值。 这里是我的所有属性: (如果有响应的错误,请忽略我修改为安全起见) XML响应 -Kendo UI数据源限制
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<retrieveIncidentResponse xmlns="http://lal.lala.com/lala/messages/">
<incidentStructure>
<geoLoc>LALA1</geoLoc>
<eventName>PARTY</eventName>
<incidentStatus>OPEN</incidentStatus>
<incidentCompltnDate>2012-01-02</incidentCompltnDate>
</incidentStructure>
<imageURI>IMAG0001.jpg</imageURI>
<imageURI>IMAG0002.jpg</imageURI>
<imageURI>IMAG0003.jpg</imageURI>
<imageURI>IMAG0004.jpg</imageURI>
<imageURI>IMAG0005.jpg</imageURI>
<imageBase64>/9j/4AAQSkZJRgABAQAAAQABAAD</imageBase64>
<imageBase64>/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkM</imageBase64>
<imageBase64>EQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJC</imageeBase64>
<imageBase64>IeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eH</imageBase64>
剑道数据源代码:
var parser = new DOMParser();
var xmlDoc = parser.parseFromString(soapXMLResponse, "application/xml");
var dsIncPictures = new kendo.data.DataSource({
error: function (e) {
console.log("ds error: " + e.status);
},
data: xmlDoc,
schema: {
type: "xml",
data: "soapenv:Envelope/soapenv:Body/retrieveIncidentResponse",
model: {
fields: {
imageURI: "imageURI",
imageBase64: "imageBase64"
},
hasChildren: true
}
},
pageSize: 50
});
My attempts to get to the values:
/*$drt.globalEditIncWPics.fetch(function()
{
$drt.globalEditIncWPics._data(0).imageBase64(0).val;
$drt.globalEditIncWPics.get("imageURI[0]");
var field = $drt.globalEditIncWPics.get("imageURI[0]").imageURI[0].length;
console.log($drt.globalEditIncWPics.get().imageURI(0));
var field = $drt.globalEditIncWPics.at(0);
console.log("VALUE: '" + field.text + "'");
soapRequest.append(bind.soapRequestMessageFields(field.FieldName, field.value));
});*/
/*$drt.globalEditIncWPics.fetch();
for (var idx = 0;idx<=$drt.globalEditIncWPics.length;idx++)
{
$drt.globalEditIncWPics.data[0].imageBase64[0].value;
}*/
这是Google开发者工具对象的结果: 没有说过我被告知我的声望不够高,无法发布图片。 从开发人员工具粘贴代码(从不知道它占用太多空间): 基本上_prestineData有两个数组,一个名为imageBase64和imageURI,位于0 | 1数组点中,值在每个子数组点中显示为#text(0, 1,2,3等)。
如果您可以发布指向代码的链接或创建jsFiddle示例,那么您将更有可能得到一个很好的答案。也就是说,我不确定您发布的XML如何自动解析到您期望的数组结构中。 – kiprainey