Я использую 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' к ресурсу?