【发布时间】:2014-03-17 12:57:41
【问题描述】:
我在获取 kendo ui 数据源对象中的数组值时遇到问题。我已经搜索并尝试了很多解决方法,但在 3 周内还没有找到解决方案。基本上,我想获取一个名为“base64img”的数组的值,该数组被分配为 Kendo UI 数据源中的一个字段,但我无法访问该数组值的数据。 以下是我所有的统计数据: (如果回复有错误,请忽略,因为我出于安全考虑修改了) XML 响应 -
<?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;
}*/
这是对象谷歌开发者工具的结果: 没关系,有人告诉我,我的声誉不够高,无法发布照片。 从开发工具粘贴代码(没关系它占用太多空间): 基本上 _prestineData 有两个数组,一个称为 imageBase64 和 imageURI,位于 0|1 数组点中,值在每个子数组点(0、1、2、3 等)中显示为 #text。
【问题讨论】:
-
如果您可以发布代码链接或创建 jsFiddle 示例,您将更有可能得到一个好的答案。也就是说,我不确定如何将您发布的 XML 自动解析为您期望的数组结构。
标签: javascript arrays kendo-ui datasource