2009-11-29 4 views
1

Документации Страница для YUI «Получить» утилита говорит:Утилита YUI «Получить» для анализа ответа JSON?

Получить утилиту идеально подходит для загрузки ваших собственных скриптов или CSS постепенно (отложенная загрузки) или для получения данных JSON междоменных из источников в , которому у вас есть полное доверие.

... но у него нет реальных примеров того, как это сделать. Их один пример фактически не запрашивает JSON-документ с удаленного сервера, а вместо него - документ, содержащий фактический JavaScript вместе с данными JSON.

Меня просто интересует ответ JSON от интерфейса API Google Maps API (REST). Поскольку я не могу выполнять межсайтовый скриптинг с помощью утилиты «Connect», я пытаюсь использовать «Get». Но просто вставлять некоторые данные JSON на страницу, конечно, не собирается. Я должен назначить его переменной. Но как?

Кроме того, только вставка данных JSON на страницу заставляет Firefox жаловаться на ошибку JavaScript. И понятно! Данные Plain ol 'JSON не будут анализироваться как действительный JavaScript.

Любые идеи?

ответ

0

OK. Похоже, что без интерфейса HTTP Geocoding от Google, поддерживающего JSONP, нет никакого способа сделать это. :(

+0

API геокодирования Yahoo, однако. В общем, я считаю API Yahoo более чистым. –

+0

У вас есть ссылка? Из того, что я вижу, API Yahoo даже не поддерживает JSON ... http://developer.yahoo.com/maps/rest/V1/geocode.html – Sean

0

Обычно в этом случае проще всего возвращать javascript, который вызывает обратный вызов с помощью json. Например:

function xdCallback(json) { 
    // here I can do whatever I need with json, maybe 
    SomeModule.heresTheJson(json); 
    // or 
    globalVar.json = json; 
    // etc 
} 

и так на вашей стороне сервера вы вернетесь не только JSON, но вместо того, чтобы что-то вроде:

xdCallback({ json: 'goes', here: true }); 

... выполнить «сценарий», когда вы получите его через ваш Ajax вызова и вы настроены.

+0

Да. К сожалению, я не могу контролировать удаленный ресурс. (Это API-интерфейс Google Maps HTTP ... и да, это кросс-сайт, но я доверяю Google.) – Sean

0

Sean - Вы можете найти поддержку XDR, что менеджер YUI Connection является то, что вы ищете -

http://developer.yahoo.com/yui/examples/connection/xdr.html (YUI 2) http://developer.yahoo.com/yui/3/examples/io/io-xdr.html (YUI 3)

Использование диспетчера соединения (YUI 2) или IO (YUI 3), чтобы включить JSON, а затем использовать компонент JSON в любой кодовой линии для разбора JSON после его загрузки.

Если Google или Yahoo! имеют необходимую междоменную поддержку на соответствующие серверы, вы должны быть в бизнесе.

-Eric

+0

Hi Eric, Действительно, ни одна из них не имеет междоменной поддержки. :( Шон – Sean

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