是否有现有的jsonp工具,比如在jquery中获取xml?

对于我正在开发的Web服务,我希望我的嵌入式代码(在客户端的站点上)从我的域中的服务器脚本中获取xml文件。

由于这是一个跨域请求,我想使用jsonp,因为它似乎是这种apis的事实上的标准。 但是,对于我的应用程序,我更容易使用xml而不是json。 现在,我当然可以将我的xml转换为服务器上的json,然后再返回到客户端站点javascript中的xml,但这似乎不必要地繁琐。 我真正需要的是和xmlp解决方案,带有填充的xml。

我累了谷歌搜索,但找不到这样做的jquery插件。 谁知道一个简单的解决方案

json工作的唯一原因是因为页面上包含的javascript可以在窗口中运行而不会出现任何x-domain问题。 所以它必须保持javascript。 但是,您可以缩小xml,确保它已正确转义并将其作为json对象中的值发送。

echo 'callback({data: "' + xml string + '"});'; 

或类似的规定。

你可以使用雅虎这样的东西! 查询语言 (YQL)使您无需为XML文件编写另一种输出格式。

例如,要通过JSONP-X获取此问题的XML提要,您将使用YQL查询URL,如:

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20xml%20where%20url%3D%27http%3A%2F%2Fstackoverflow.com%2Ffeeds%2Fquestion%2F2671143%27%20and%20itemPath%3D%27feed.entry%27&callback=my_jsonpx_handler

[ 在YQL控制台中尝试此查询 ]

这给你一个如下结果; 有效地包装在JSON回调中的XML:

my_jsonpx_handler({"query":…,"results":["\n http://stackoverflow.com/questions/2671143/is-there-an-existing-tool-for-jsonp-like-fetching-of-xml-in-jquery<\/id>\n 0<\/re:rank>…"]});

然后,您的小部件可以在YQL URL中查询其数据,这些数据又将与您服务器上的XML文件进行通信(具有缓存,速度等作为附加function)。

从jQuery 1.5开始,有一个实用方法,它为使用jsonp加载XML节省了我的生命。

 var xml = "RSS Title", xmlDoc = $.parseXML( xml ), $xml = $( xmlDoc ), $title = $xml.find( "title" ); 

http://api.jquery.com/jQuery.parseXML/