#jquery #json #google-maps-api-3 #google-places-api
#jquery #json #google-maps-api-3 #google-places-api
Вопрос:
Получение 'SyntaxError: missing ; before statement'
ошибки при попытке запустить этот ajax-код для извлечения всех банкоматов в радиусе 1 км.
var url = "https://maps.googleapis.com/maps/api/place/nearbysearch/json";
jQuery.ajax({
url: url,
dataType: 'jsonp',
data: {
'location': '-33.8670522,151.1957362',
'radius': 1000,
'types': 'atm',
'name': '',
'sensor': false,
'key': API_KEY
},
success: function(response) {
alert('success');
}
});
Я искал много статей, но не нашел решения. Если я удаляю 'p'
из 'jsonp'
, ответа нет, потому что это междоменный. Как я могу решить эту проблему?
Комментарии:
1. отсутствует точка с запятой в
alert('success')
Вы используете строгий режим ..?2. добавлена точка с запятой, та же ошибка. строгий режим?
3. На какую строку указывает эта ошибка?
4. Он не показывает ни одной строки. Когда я проверяю с помощью firebug, я вижу, что получаю ответ, но не могу двигаться дальше с момента получения этой ошибки.
5. Не могли бы вы предоставить полный пример? jsfiddle?
Ответ №1:
В коде нет синтаксической ошибки, ошибка приходит через ответ.
Places-webservice не поддерживает JSONP, вы не можете запросить эту услугу через $.ajax
Используйте методы places-library of the Maps-Javascript-API: https://developers.google.com/maps/documentation/javascript/places#place_search_requests
Комментарии:
1. Спасибо Molle за ссылку. Можете ли вы сказать мне, как я могу удалить или подавить ‘html_attributions’ из ответа? { «html_attributions»: [ «Списки по u003ca href= » yellowpages.com.au » u003eYellow Pagesu003c/au003e» ],
2. По сути, ответ представляет собой объект, а html_attributions является свойством этого объекта, свойства объекта могут быть удалены с помощью delete . Я не буду давать дальнейших советов, потому что атрибуты html_attributions всегда должны присутствовать при использовании результатов, см.: developers.google.com/places/policies#attribution_requirements