我在獲取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