#javascript #jquery #json #google-maps #google-maps-api-3
#javascript #jquery #json #google-карты #google-maps-api-3
Вопрос:
Я пытался использовать Google maps API в некоторых jQuery ajax, однако, похоже, я не могу этого сделать, потому что это междоменный, хотя я использую json?
Почему это? Что я должен сделать, чтобы решить эту проблему?
$.ajax({
type: "GET",
url: 'http://maps.googleapis.com/maps/api/geocode/json?sensor=falseamp;address=405 Lexington Avenue Manhattan NY',
error: function(request, status) {
alert('fail');
},
success: function(data, textStatus, jqXHR) {
alert('success');
}
});
Спасибо!
Ответ №1:
Возврат содержимого в формате json не исключает междоменных ограничений. (Возможно, вы путаете json и jsonp здесь.)
Вы можете использовать script, как заметил другой человек, но я бы рекомендовал вместо этого переключиться на javascript api. Этот, вероятно, предназначен для использования в коде на стороне сервера.
Комментарии:
1. Что делает javascript api, что позволяет ему выполнять междоменный вызов?
2. @DutrowLLC Я бы предположил, то же самое с jsonp 🙂
3. @DutrowLLC Версия JS, кажется, описана здесь code.google.com/apis/maps/documentation/javascript /…
Ответ №2:
Правильно, междоменные вызовы ajax не разрешены. Вместо этого создайте элемент «script» на странице с src, установленным для этого URL.
Вы также можете использовать $.getScript() — http://api.jquery.com/jQuery.getScript /
Комментарии:
1. Я лично использую $.getScript() в этих случаях, поскольку он поддерживает обратный вызов.
2. Мое решение не будет работать. Я не понял, что он пытался получить JSON. Я предположил, что он пытался загрузить библиотеку map, которая будет работать с $.getScript ().