如何使用SAPUI5中的URL显示JSON数据。 我使用SAPUI5作为前端开发。
这是我的控制器功能:
initThingsModel:function () {
var oMenuModel = new sap.ui.model.json.JSONModel();
oMenuModel.loadData("http://localhost:8085/things");
sap.ui.getCore().setModel(oMenuModel);
}
但我不知道我的view.xml应该怎么样。
答案 0 :(得分:1)
您可以使用" {yourPropertyNameHere}"来访问您的媒体资源。
答案 1 :(得分:0)
oMenuModel.attachRequestCompleted(function() {
var data = oMenuModel.getData();
console.log(data);
});
答案 2 :(得分:0)
简单示例:
{
"first":"India",
"second":"Singapore",
"third":"Malaysia"
}
onInit: function() {
var oModel = new JSONModel();
oModel.loadData("jsonfilename.json"); // jsonfilename.json is in root
this.getView().setModel(oModel);
},
<Text text="{/first}" />
<Text text="{/second}" />
<Text text="{/third}" />
答案 3 :(得分:0)
Json文件: - data.json
{
"name": [{
"fnm": "abc",
"lnm": "xyz",
"city": "PQR"
}]
}
<强> Controller.js 强>
var oModel = sap.ui.model.json.JSONModel("model/data.json");
this.getView().setModel(oModel);
<强> view.xml用强>
<Table id = "idtbl" items ="{/name}">
<columns>
<Column>
<Text text = "First Name">
</Column>
<Column>
<Text text = "Last Name">
</Column>
<Column>
<Text text = "City">
</Column>
</columns>
<items>
<columnListItem>
<cells>
<Text text = "{fnm}"/>
<Text text = "{lnm}"/>
<Text text = "{city}"/>
</cells>
</columnListItem>
</items>
</Table>
答案 4 :(得分:0)
如果您正在使用Odata服务,则必须按如下所示传递参数
/things?$format=json
如果您使用的是开放式REST API,则必须按如下所示在标头中传递内容类型
Content-type: application/json
答案 5 :(得分:0)
已编辑
这段代码应该帮助您将数据从控制器端传递到视图中
DB::getQueryLog()
然后,您可以在XML视图中显示数据,如下所示:
initThingsModel:function () {
// create JSONModel
var oMenuModel = new sap.ui.model.json.JSONModel();
// loadData returns Promise
oMenuModel.loadData("http://localhost:8085/things");
// set data to JSONMode and your view
this.getView().setModel(oMenuModel, "dataModel");
}
另一个问题可能是,您的服务或后端是否支持oData协议?如果是,那么我建议使用 sap.ui.model.odata.v2.ODataModel 与后端进行通信。如果您的后端不支持oData,那么我建议使用 XMLHttpRequest 对象创建后端请求,一旦您从后端检索到数据,就可以调用您的 setData 方法 JSONModel 。