如何设置content-type:ui5 odata.read()中的application/json



当我致电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

通过标头

最新更新