Javascript YUI“Get”实用程序解析JSON响应?
YUI Get实用程序的文档页面上显示: Get实用程序是加载您的 逐步拥有脚本或CSS 延迟加载或用于检索 中源的跨域JSON数据 你完全信任它 …但没有任何实际的例子说明如何做到这一点。他们的一个示例实际上并没有从远程服务器请求JSON文档,而是一个包含实际JavaScript和JSON数据的文档 我只是对来自GoogleMapsAPI HTTP REST接口的JSON响应感兴趣。因为我不能用Connect实用程序编写跨站点脚本,所以我正在尝试Get实用程序。当然,仅仅在页面中插入一些JSON数据是不会有任何作用的。我必须把它赋给一个变量。但是怎么做呢 此外,只需将JSON数据插入页面,Firefox就会抱怨存在JavaScript错误。这是可以理解的!纯ol'JSON数据不会解析为有效的JavaScriptJavascript YUI“Get”实用程序解析JSON响应?,javascript,json,yui,Javascript,Json,Yui,YUI Get实用程序的文档页面上显示: Get实用程序是加载您的 逐步拥有脚本或CSS 延迟加载或用于检索 中源的跨域JSON数据 你完全信任它 …但没有任何实际的例子说明如何做到这一点。他们的一个示例实际上并没有从远程服务器请求JSON文档,而是一个包含实际JavaScript和JSON数据的文档 我只是对来自GoogleMapsAPI HTTP REST接口的JSON响应感兴趣。因为我不能用Connect实用程序编写跨站点脚本,所以我正在尝试Get实用程序。当然,仅仅在页面中插入一些JSO
有什么想法吗?通常在这种情况下,最简单的方法是返回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,事实上,他们都没有跨域支持:肖恩