Sapui5 如何在ui5 oData.read()中设置内容类型:application/json?
当我调用Sapui5 如何在ui5 oData.read()中设置内容类型:application/json?,sapui5,Sapui5,当我调用XSet/$count时,我发现响应是xml格式的,这很难解析 我试着打电话 oModel.read("/XSet/$count", { urlParameters: "$format=json", filters: [new Filter(this._oFilterState.aTaskFilter, false)], }); 调用了XSet/$count?$format=json&$filter=(状态eq“未启动”) 返回 “系统查询选项“$form
XSet/$count
时,我发现响应是xml格式的,这很难解析
我试着打电话
oModel.read("/XSet/$count", {
urlParameters: "$format=json",
filters: [new Filter(this._oFilterState.aTaskFilter, false)],
});
调用了XSet/$count?$format=json&$filter=(状态eq“未启动”)
返回
“系统查询选项“$format”与返回类型不兼容。”
但是XSet/$count?$filter=(status eq'NOT_STARTED')&$format=json
可以返回json格式的错误响应
我想尝试第二种方法,即将
内容类型:application/xml
更改为内容类型:application/json
。但是在API中找不到此项:Model.read方法通过将Accept头设置为
接受: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的头,当您调用URL
http://host:port/path/XSet/$count
是否直接在浏览器中?它不应该是XML,而是一个实际的数字:Hi@Marc,是的,成功时它返回了数字,但我正在为这个调用执行错误处理,失败时它返回XML格式的响应。我问过我的后端同事,他让我尝试更改内容类型
。