Javascript YUI“Get”实用程序解析JSON响应?

Javascript YUI“Get”实用程序解析JSON响应?,javascript,json,yui,Javascript,Json,Yui,YUI Get实用程序的文档页面上显示: Get实用程序是加载您的 逐步拥有脚本或CSS 延迟加载或用于检索 中源的跨域JSON数据 你完全信任它 …但没有任何实际的例子说明如何做到这一点。他们的一个示例实际上并没有从远程服务器请求JSON文档,而是一个包含实际JavaScript和JSON数据的文档 我只是对来自GoogleMapsAPI HTTP REST接口的JSON响应感兴趣。因为我不能用Connect实用程序编写跨站点脚本,所以我正在尝试Get实用程序。当然,仅仅在页面中插入一些JSO

YUI Get实用程序的文档页面上显示:

Get实用程序是加载您的 逐步拥有脚本或CSS 延迟加载或用于检索 中源的跨域JSON数据 你完全信任它

…但没有任何实际的例子说明如何做到这一点。他们的一个示例实际上并没有从远程服务器请求JSON文档,而是一个包含实际JavaScript和JSON数据的文档

我只是对来自GoogleMapsAPI HTTP REST接口的JSON响应感兴趣。因为我不能用Connect实用程序编写跨站点脚本,所以我正在尝试Get实用程序。当然,仅仅在页面中插入一些JSON数据是不会有任何作用的。我必须把它赋给一个变量。但是怎么做呢

此外,只需将JSON数据插入页面,Firefox就会抱怨存在JavaScript错误。这是可以理解的!纯ol'JSON数据不会解析为有效的JavaScript


有什么想法吗?

通常在这种情况下,最简单的方法是返回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调用获得“脚本”并设置好后,执行该脚本。

确定。看起来如果没有谷歌的HTTP地理编码接口支持JSONP,就没有办法做到这一点

Sean-您可能会发现YUI Connection Manager的XDR支持正是您所需要的-

YUI 2 YUI 3

使用连接管理器YUI 2或IO YUI 3引入JSON,然后在加载JSON后使用任一代码行中的JSON组件解析JSON

如果是谷歌还是雅虎!如果您在相关服务器上具有必要的跨域支持,那么您就应该投入业务


-Eric

我使用YAHOO.lang.JSON.parse将字符串解析为JSON。stringify方法也可用于从JSON返回字符串:


是 啊不幸的是,我无法控制远程资源。这是谷歌地图HTTP API。。。是的,这是跨站点的,但我相信谷歌。不过,雅虎的地理编码API确实如此。总的来说,我发现雅虎的API对网络友好得多。有链接吗?在我看来,雅虎的API甚至不支持JSON。。。嗨,Eric,事实上,他们都没有跨域支持:肖恩