Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > json Не возвращает данные для Google Geocoding API


Автор: mstdmstd 5.12.2012, 11:33
Всем привет,
разбираюсь с The Google Geocoding API( как описано тут https://developers.google.com/maps/documentation/geocoding/ , JSON Output Formats )
вызываю сл функцию :

Код

  function InitGeocode() {
    var HRef= "http://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true";
    // var HRef= "<?php echo $base_url ?>admin/property/json_test/address/1600+Amphitheatre+Parkway,+Mountain+View,+CA/sensor/true";
    alert(HRef)
    $.getJSON(HRef,   {  },
    ongetInitGeocode,
    function(x,y,z) {   //Some sort of error
      alert(x.responseText);
    }
    );
  }

  function ongetInitGeocode(data) {
    alert("ongetInitGeocode data::"+var_dump(data) )
    ...

Проблема в том что не вызывается функция ongetInitGeocode c рузультирующими данными.
Если скопировать ссылку в алерте и вставить в браузер -то возвращается нормальные результирующие данные в json-формате как и на примере

Если закоментарить 1ю строку и раскоментарить вторую строку, то нормально возвращаются данные с сайта. Это я сделал для того, чтобы проверить что jquey/json нормально работают.

Это проект CodeIgniter 2 и установлен он на локальном сервере. Может ли быть проблема из  локального сервере или причина другая?



Автор: Sanchezzz 5.12.2012, 16:19
Через JavaScript вы не получить эти данные напрямую и за  Access-Control-Allow-Origin. "Политика безопасности браузера на кросдоменые запросы".
Вариант только один у вас один проксирование.

создаем файл geocode.php
Код

<?
echo file_get_contents("http://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true");
?>


JS 
Код

 function InitGeocode() {
    $.getJSON('/geocode.php',   {  },
    ongetInitGeocode,
    function(x,y,z) {   //Some sort of error
      alert(x.responseText);
    }
    );
  }

Автор: mstdmstd 11.12.2012, 10:50
Спасибо  smile 

Автор: Sentox 17.12.2012, 08:54
Почему, JSONP кроссдоменные запросы делает, как раз в контексте GET.
http://jquery-docs.ru/ajax/jquery-getjson/

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)