当我致电XSet/$count
时,我发现响应是在XML中,很难解析。
我试图打电话
oModel.read("/XSet/$count", {
urlParameters: "$format=json",
filters: [new Filter(this._oFilterState.aTaskFilter, false)],
});
称为XSet/$count?$format=json&$filter=(status eq 'NOT_STARTED')
返回
"系统查询选项'$格式'与返回类型不兼容。"
但是XSet/$count?$filter=(status eq 'NOT_STARTED')&$format=json
可以返回JSON格式错误响应。
我想尝试第二种方法,即将Content-Type: application/xml
更改为Content-Type: application/json
。但无法在API中找到此问题:https://sapui5.hana.ondemand.com/#/api/sap.ui.model.odata.odata.odatamodel/methods/methods/read
model.Read方法通过将Accept标头设置为
来要求XML响应接受:application/atom xml,application/atomsvc xml,application/xml
但是,计数请求是明文响应。您可以通过两种方式获得计数,一个是将模型的有效载荷设置为使用JSON,另一种方式将是JQuery Ajax调用。
您可以使用JSON参数设置为true初始化模型。
var oModel = sap.ui.model.odata.v2.ODataModel("Service_URL",{
json:true
});
这将通过Accept:application/json