查看: 11735|回复: 5

门户中调用外部接口报错

升级   0.25%

1

主题

2

回帖

25

积分

注册会员

Rank: 2

积分
25
发表于 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,如图。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2022-10-25 16:45:13 | 显示全部楼层
怎么调用的?这个得排查自定义脚本啊
回复

使用道具 举报

升级   0.25%

1

主题

2

回帖

25

积分

注册会员

Rank: 2

积分
25
发表于 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事件中直接用就报跨域的错。
回复

使用道具 举报

升级   100%

3

主题

1687

回帖

1018

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1018
发表于 2022-10-26 11:07:33 | 显示全部楼层
您好,要先确认下 您这边调用的接口端那边有没有设置允许跨域

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

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

使用道具 举报

升级   0.25%

1

主题

2

回帖

25

积分

注册会员

Rank: 2

积分
25
发表于 2022-10-26 15:35:29 | 显示全部楼层
xadmin 发表于 2022-10-26 11:07
您好,要先确认下 您这边调用的接口端那边有没有设置允许跨域

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

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

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2022-10-26 15:54:22 | 显示全部楼层
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系客服 关注微信 下载APP 返回顶部 返回列表
viewthread