SAPUI5调用REST错误(没有" Access-Control-Allow-Origin"标头...)或空对象

2020-08-18 10:28发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我有一个问题,打电话给REST。

1。 首先,我尝试这样调用REST:

var url =" http://......。 "。

var parameters = {};

var headers = {};

标头。Authorization=" Access-Control-Allow-Origin:*";

headers.setHeader =" X-Requested-With:JSONHttpRequest";

headers.setHeader ="内容类型:application/x-www-form-urlencoded";

var oModel = new sap.ui.model.json.JSONModel();

oModel.loadData(URL,参数,false," GET",false,false,标题);

oView.setModel(oModel," test");

注意:这里有一个错误:

所请求的资源上没有" Access-Control-Allow-Origin"标头。 来源' http://....... '

2。 然后我用了ajax:

var url =" http:// ........";

oModel = sap.ui.model.odata.ODataModel(url, true ," testUser"," @ testPass @");

oView.setModel(oModel," test");

oModel = sap.ui.model.json.JSONModel();

aData = jQuery.ajax({

类型:" GET",

网址:网址

contentType:"应用程序/x-www-form-urlencoded",

dataType:'jsonp',

标头:{" X-Requested-With":" JSONHttpRequest"},

异步: false

成功:功能
(结果){

//处理结果

$('#result')。html(result.ip);

},

错误:功能(e)
{

//在浏览器中记录错误

console.log(e.message);

}

});

oModel.setData(aData, false );

oView.setModel(oModel," test");

注意:这里我有一个空对象。

我的UI也不同于我正在调用的REST。

预先感谢????

Simona Lincheva

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我有一个问题,打电话给REST。

1。 首先,我尝试这样调用REST:

var url =" http://......。 "。

var parameters = {};

var headers = {};

标头。Authorization=" Access-Control-Allow-Origin:*";

headers.setHeader =" X-Requested-With:JSONHttpRequest";

headers.setHeader ="内容类型:application/x-www-form-urlencoded";

var oModel = new sap.ui.model.json.JSONModel();

oModel.loadData(URL,参数,false," GET",false,false,标题);

oView.setModel(oModel," test");

注意:这里有一个错误:

所请求的资源上没有" Access-Control-Allow-Origin"标头。 来源' http://....... '

2。 然后我用了ajax:

var url =" http:// ........";

oModel = sap.ui.model.odata.ODataModel(url, true ," testUser"," @ testPass @");

oView.setModel(oModel," test");

oModel = sap.ui.model.json.JSONModel();

aData = jQuery.ajax({

类型:" GET",

网址:网址

contentType:"应用程序/x-www-form-urlencoded",

dataType:'jsonp',

标头:{" X-Requested-With":" JSONHttpRequest"},

异步: false

成功:功能
(结果){

//处理结果

$('#result')。html(result.ip);

},

错误:功能(e)
{

//在浏览器中记录错误

console.log(e.message);

}

});

oModel.setData(aData, false );

oView.setModel(oModel," test");

注意:这里我有一个空对象。

我的UI也不同于我正在调用的REST。

预先感谢????

Simona Lincheva

付费偷看设置
发送
5条回答
四川大学会员
1楼 · 2020-08-18 10:34.采纳回答

西蒙娜嗨,

由于资源和API的来源不同而收到此错误。

现在您可以尝试两种解决方案:

1。 将您的UI资源与其余API移至同一服务器

2。 将以下响应标头添加到您的其余API编码中:

"访问控制权限来源:*"

有关更多详细信息,请参阅以下文档:

https://developer.mozilla.org/ zh_CN/docs/HTTP/Access_control_CORS#Access-Control-Allow-Origin

最诚挚的问候,

Ashok

梦想连接
2楼-- · 2020-08-18 10:46

此消息已被审核。

SAP德到
3楼-- · 2020-08-18 10:53

嗨西蒙娜,

在我的一个博客中基于公共JSON API或Web服务创建SAPUI5应用程序我解释了如何使用数据 来自公共JSON API。 请通过它,然后再次尝试。 我希望它能解决您的问题。

此致

Chandra

昵称总是被占用
4楼-- · 2020-08-18 10:51

嗨Chandra,

感谢您的答复,但我已经尝试过您的解决方案????。 问题是,正如您在博客中所说的那样:仅当您的服务支持 JSONP 时,此调用才有效(但我 m不使用

zhangjiyang1323
5楼-- · 2020-08-18 10:50

嗨,

对于仍在寻找解决方案的您:
使用App Router解决CORS

(在本地工作 并在云中)
欢呼声,
卡洛斯

一周热门 更多>