Google Tag Manager Cross-Origin запрос на API заблокирован - PullRequest
0 голосов
/ 21 октября 2019

Я пытаюсь получить некоторые данные из нашего 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 успешен, и я могу видеть данные, но они никогда не попадают в мою консоль.

Любая помощь приветствуется, спасибо!

1 Ответ

0 голосов
/ 22 октября 2019

Когда я написал это, я нашел ответ.

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

Требуется, чтобы контроль доступа разрешал заголовок источника в API, а не в приложении внешнего интерфейса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...