我有一个包含以下内容的 xPage:
<xe:restService id="restService" preventDojoStore="false">
<xe:this.service>
<xe:viewJsonService viewName="vwChartData"
contentType="text/json">
<xe:this.columns>
<xe:restViewColumn columnName="x" name="valuex"></xe:restViewColumn>
<xe:restViewColumn columnName="y" name="valuey"></xe:restViewColumn>
</xe:this.columns>
</xe:viewJsonService>
</xe:this.service>
</xe:restService>
页面加载后如何获取数据?据我了解,它应该创建一个 Dojo 存储,尽管它从不加载数据。
当我将 xe:djxDataGrid 添加到页面时,对用户隐藏它,我可以通过直接引用 restService 变量或通过 djxDataGrid 轻松访问创建的 Dojo Store 中的数据。
解决方案:
<xp:scriptBlock>
<xp:this.value><![CDATA[XSP.addOnLoad( function() {
var ds = eval('restService');
ds.fetch({
onComplete : function(items, request) {
console.log(items);
}
});
});]]></xp:this.value>
</xp:scriptBlock>