谷歌跟踪代码管理器对某个 API 的跨源请求被屏蔽



我正在尝试从我们的API(myapi.com(中获取一些数据以显示在我们的前端应用程序(www.myfrontend.com(。

myfrontend.com的 gtm 上,我有一个标签,可以请求 myapi.com 一些数据:

var HttpClient = function() {
this.get = function(aUrl, aCallback) {
var anHttpRequest = new XMLHttpRequest();
anHttpRequest.onreadystatechange = function() {
if (anHttpRequest.readyState == 4 && anHttpRequest.status == 200)
aCallback(anHttpRequest.responseText);
}
anHttpRequest.open("GET", aUrl, true);
anHttpRequest.send(null);
}
}
var theurl = 'https://myapi.com/data?id=1';
var client = new HttpClient();
client.get(theurl, function(response) {
var response1 = JSON.parse(response);
console.log(response1.content);
}); 

我收到 CORS 错误:跨源请求被阻止:同源策略不允许读取远程资源 https://myapi.com/data?id=1

我将 api 添加到访问控制源标头:

access-control-allow-origin https://myapi.com

我可以在网络中看到,对 api 的请求是成功的,我可以看到数据,但它永远不会到达我的控制台。

任何帮助不胜感激,谢谢!

当我发布它时,我找到了答案。

access-control-allow-origin https://myfrontend.com

需要在 API 上而不是前端应用上访问控制允许源标头。

最新更新