2013-10-02 2 views
1

Пожалуйста, простите мой плохой английский, я французский;)IE8 - Geocode Ajax вызова никогда не удается

Итак, я, чтобы сделать Ajax позвонить вам этот вид URL: http://maps.googleapis.com/maps/api/geocode/json?latlng=45.85941212790755,0&sensor=true

С этим код:

$.ajax({ url:'http://maps.googleapis.com/maps/api/geocode/json?latlng='+pos.coords.latitude+','+pos.coords.longitude+'&sensor=true', 
      success: function(results){ 
       // ... 
      } 
     }); 

Но это никогда не удается для IE8 (это нормально для хрома и FF, IE9 & 10).

У вас есть идея?

ответ

2

EDIT

Моих плохо, в IE8 вы не можете запросить геокодирование на стороне клиента больше, потому что Google удалил JSONP поддержки со стороны их геокодера.

Вы можете сделать одно из двух

  1. Используйте свой собственный сервер в качестве прокси-сервера (я это делаю). Это в основном означает, что вы делаете запрос на скрипт на своем собственном сервере, который использует cURL (или аналогичный), чтобы отправить запрос геодезисту google, а затем вернуть результаты обратно вам.

  2. Если вы используете API Карт Google, у вас есть возможность использовать это встроенный в геокодером (https://developers.google.com/maps/documentation/javascript/examples/geocoding-simple)

OLD REPLY

Это кросс вызов домена в IE8 - вы получите ошибку No Transport (или если вы добавите jQuery.support.cors = true, вы все равно получите ошибку Access is Denied.

Лучшие решения - использовать JSONP. jQuery делает использование JSONP тривиальным.

Отметьте это jQuery Docs page и прокрутите вниз до их примера, используя JSONP с API Flickr.

+0

У меня есть исключение транспорта из IE8 с помощью JSONP ... (для геокода) –

+0

@FlorianMacLanglade - обновил мой ответ. – Adam

Смежные вопросы