Javascript $.GET — ОШИБКА Access-Control-Allow-Origin

Я пытаюсь собрать html-текст с разных сайтов и после этого искать, есть ли на этих сайтах мой pub-id. Проблема в том, что я не могу получить доступ к другим веб-сайтам из-за Access-Control-Allow-Origin.

Не удалось загрузить http://example.com/: перенаправление с 'http://example.com/' на 'http://example.com/» заблокирован политикой CORS: в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin». Таким образом, доступ к источнику 'http://localhost:50000' запрещен.

Здесь вы можете взглянуть на мой код:

var site = 'http://example.com';
var pub_id = 'pub-27638960xxxxxx';
var found = -1;

$.get(site, function(data, status){
        alert('Data: ' + data + '\nStatus: ' + status);
        found = data.indexOf(pub_id);
 if(found >=0)
 {
         alert('Found at position: ' + found);
 }
    });

Этот код добавлен в мой проект Construct 2. Что более интересно, если я буду запускать/просматривать свою игру в NW.js, код будет работать. Если я буду предварительно просматривать/запускать в Chrome, Firefox, Edge и т. д., код НЕ будет работать.

Кто-нибудь знает, как это решить? Я понимаю, что мне нужно сделать запрос к этому серверу, но я не знаю, как это сделать.

Благодарю вас!

PS: Если вы знаете другой способ сделать это в Javascript или Construct 2, я весь в ушах.


person Stefan    schedule 06.07.2018    source источник
comment
Возможный дубликат https://stackoverflow.com/questions/18642828/origin-http-localhost3000-is-not-allowed-by-access-control-allow-origin   -  person Kapsonfire    schedule 06.07.2018
comment
Ключевые слова здесь с разных сайтов. Их серверы должны позволять вашему домену делать это, и если они этого не сделают, вы не должны его получить. Вариантом было бы использовать веб-клиент на стороне сервера, действующий как браузер, и вызывать эти сайты.   -  person Ason    schedule 06.07.2018
comment
Это проблема. Мне нужно найти мой pub-id на другом сайте, где находится моя игра. В зависимости от этого, если мой pub-id есть, я разблокирую свою игру на этом сайте, а если моего pub-id нет, я заблокирую игру на этом сайте и покажу сообщение, чтобы сообщить веб-мастеру, что делать. чтобы разблокировать игру для своего сайта. Есть ли способ сделать это?   -  person Stefan    schedule 06.07.2018


Ответы (1)


Запрашивающий сервер должен установить «Access-Control-Allow-Origin» на ваш исходный домен:

в заголовке php('Access-Control-Allow-Origin: http://localhost:500');

person Kapsonfire    schedule 06.07.2018
comment
Спасибо за ответ. Проблема в том, что у меня нет доступа ко всем сайтам. Как я уже сказал в комментарии к посту: в этом проблема. Мне нужно найти мой pub-id на другом сайте, где находится моя игра. В зависимости от этого, если мой pub-id есть, я разблокирую свою игру на этом сайте, а если моего pub-id нет, я заблокирую игру на этом сайте и покажу сообщение, чтобы сообщить веб-мастеру, что делать. чтобы разблокировать игру для своего сайта. Есть ли способ сделать это? Благодарю вас! - person Stefan; 06.07.2018
comment
Если вы не можете получить доступ к запрашиваемому серверу, вам следует настроить прокси-сервер... Например, вы вызываете свой собственный сервер и получаете контент с помощью curl - person Kapsonfire; 06.07.2018
comment
Можете быть более конкретными? Или привести пример? Я супер новичок в Javascript, мне около 5 дней! :)) - person Stefan; 06.07.2018