«В запрошенном ресурсе отсутствует заголовок« Access-Control-Allow-Origin ».» при оформлении запроса "GET" - PullRequest
0 голосов
/ 04 июля 2018

Я использую HTTP-запрос для получения предложений автозаполнения Google, вот что вдохновило меня на это:

Вы можете сделать запрос GET по следующему URL:

http://suggestqueries.google.com/complete/search?client=chrome&q=cats

Где «client» param - это имя вашего браузера (работает с большинством, но вы можете передать> тот же тип, не обращая внимания на то, что пользователь в данный момент включен, и он все еще будет работать).

И "q" - это ваша строка поиска.

Это вернет вам список предлагаемых элементов, которые вы можете затем добавить в плагин автозаполнения jQuery или создать свой собственный (вы не можете просто заставить весь> выпадающий интерфейс> Google выскочить с одной функцией, к сожалению :))

(источник: Добавить автозаполнение Google в панель поиска Google? )

Я использую эту функцию для получения текста ответа Google:

function httpGetAsync(theUrl, getGoogle){
   var xmlHttp = new XMLHttpRequest();
   xmlHttp.onreadystatechange = function() { 
      if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
         getGoogle(xmlHttp.responseText);
   }
   xmlHttp.open("GET", theUrl, true); // true for asynchronous
   xmlHttp.send(null);
}

Однако, когда функция выполняется, CORS, кажется, мешает мне получить ответ: Failed to load http://suggestqueries.google.com/complete/search?client=chrome&q=xx: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access.

Есть ли способ добавить заголовок 'Access-Control-Allow-Origin' к ресурсу?

1 Ответ

0 голосов
/ 04 июля 2018

Вы не можете сделать запрос в другой домен из браузера пользователей, если у источника нет заголовка Access-Control-Allow-Origin для вашего домена. В заключение, вы не можете сделать запрос со стороны пользователя без использования какого-либо прокси, такого как этот:

https://cors-anywhere.herokuapp.com/

Пример:

url: https://cors-anywhere.herokuapp.com/https://google.com
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...