SyntaxError: отсутствует; перед операцией, получающей эту ошибку при попытке вызвать Google place search api

#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