SAPUI5 - GET请求

时间:2017-09-26 13:46:19

标签: sapui5

如何使用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应该怎么样。

6 个答案:

答案 0 :(得分:1)

您可以使用" {yourPropertyNameHere}"来访问您的媒体资源。

答案 1 :(得分:0)

oMenuModel.attachRequestCompleted(function() {
    var data = oMenuModel.getData();
    console.log(data);
});

答案 2 :(得分:0)

简单示例:

1。外部JSON文件(jsonfilename.json)

{
  "first":"India", 
  "second":"Singapore", 
  "third":"Malaysia"
}

2。在控制器

onInit: function() { 
  var oModel = new JSONModel();
  oModel.loadData("jsonfilename.json"); // jsonfilename.json is in root
  this.getView().setModel(oModel);
},

3。在XML视图中

<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