布布布 发表于 2022-10-25 14:06:51

门户中调用外部接口报错

在门户中调用外部接口报错:
Access to XMLHttpRequest at 'url1……' from origin 'url2……' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource,如图。

论坛管理员 发表于 2022-10-25 16:45:13

怎么调用的?这个得排查自定义脚本啊

布布布 发表于 2022-10-25 16:49:57

论坛管理员 发表于 2022-10-25 16:45
怎么调用的?这个得排查自定义脚本啊

用过两种方法:

//第一种方法:
o2.restful("GET",url,{},"onLoaded",true,false,false,function(json){
console.log(json)
}.bind(this),true,false);

//第二种方法:
var xhr = new XMLHttpRequest();
xhr.open('get',url);
xhr.setRequestHeader("Content-Type","application/json; charset=utf-8");
xhr.send();
xhr.onload=function(){
    console.log(xhr.reposeText);
}

url可以直接在浏览器打开,以上两种方法都报这个错。bilibili的教程用的第一种方法,但是我在load事件中直接用就报跨域的错。

xadmin 发表于 2022-10-26 11:07:33

您好,要先确认下 您这边调用的接口端那边有没有设置允许跨域

可以通过服务-接口 里取调用这个接口

然后前端 调用你写好的这个接口,中转一下

布布布 发表于 2022-10-26 15:35:29

xadmin 发表于 2022-10-26 11:07
您好,要先确认下 您这边调用的接口端那边有没有设置允许跨域

可以通过服务-接口 里取调用这个接口


你好,接口端允许跨域的,请问在服务-接口里调用要怎么调用,有具体的demo吗?

论坛管理员 发表于 2022-10-26 15:54:22

参考文档:https://www.o2oa.net/cms/apicourse/325.html
页: [1]
查看完整版本: 门户中调用外部接口报错