2011-04-18 1 views
0
$.ajax({ 

    type: "GET", 

    url: "http://maps.googleapis.com/maps/api/directions/json?origin=ajax& 
      destination=toronto&region=ca&avoid=tolls&sensor=false", 

    dataType: "jsonp", 

    success: function(jsonp) { 

      alert(jsonp); 

      console.log(jsonp); 
      } 


}); 



}); 

Предупреждение и console.log не работают, хотя у меня есть правильный json, возвращенный из Google.Может кто-нибудь решить, что я делаю неправильно в jsonp и google

+2

Если вы не сообщите нам, что происходит не так. No – ThiefMaster

+0

Вы пробовали отлаживать его в Firefox с помощью Firebug или в Google Chrome? – RvdK

+1

Вы пытались добавить обратный вызов 'error:', чтобы узнать, получаете ли вы ошибку? Очевидно, я читаю мысли здесь, так что это может быть не то, что вы просите! –

ответ

1

Прежде всего, вы не можете иметь строки в строках.

Кроме того, служба Google отвечает простым JSON - а не JSONP. Если они не поддерживают JSONP, вам не повезло. И если они это сделают, вам нужно указать аргумент, содержащий имя функции обратного вызова.

+0

Или вы можете добавить '& callback =?' В URI запроса, а jQuery будет генерировать уникальное имя функции для запроса JSONP. (Предполагая, что API Google поддерживает JSONP) – sholsinger

+0

Да, вот что я имел в виду. – ThiefMaster

1

отказаться от спецификации jsonp.

$.ajax({ 

    type: "GET", 

    url: "http://maps.googleapis.com/maps/api/directions/json?origin=ajax& destination=toronto&region=ca&avoid=tolls&sensor=false", 
    success: function(json) { 
      alert(json.status); 
      console.log(json); 
      } 
}); 
+0

Все еще не работает в соответствии с этим тестом: http://jsfiddle.net/karim79/5qzhx/ – karim79

+0

, тогда у вас возникли проблемы с междоменем. – RvdK