无法进行跨域Ajax调用

时间:2010-09-09 08:10:16

标签: javascript jquery ajax cross-domain youtube-api

(文档)$。就绪(函数(){         $就({             网址:“http://gdata.youtube.com/feeds/api/users/zdf/playlists?v=2”,             类型:“GET”,             成功:函数(msg){                 的console.log(MSG);             }         });     });

我收到此错误“XMLHttpRequest无法加载http://gdata.youtube.com/feeds/api/users/zdf/playlists?v=2

如何进行跨域ajax调用以从api获取xml?

3 个答案:

答案 0 :(得分:6)

您无法进行跨域调用以获取XML。接收数据跨域的唯一选择是JSON-P

same origin policy限制对外国域(ajax / iframes)的直接访问,json-p使用dynamic script tag insertion来解决此问题。

看看http://api.jquery.com/jQuery.getJSON/JSON-P也在那里。{/ p>

修改

http://code.google.com/intl/de-DE/apis/youtube/2.0/developers_guide_json.html

为你而制造!

答案 1 :(得分:2)

有一个持续的标准化过程来计算出允许跨域ajax请求的方案JSON-P只是一个临时的解决方法,因为它使用脚本标记来发出HTTP请求,这不如XMLHttpRequest对象。

建议的解决方案基于让资源来源指定允许进行跨域请求的域,域“*”表示任何其他网页都可以托管向该特定资源发出请求的应用程序。 / p>

您可以在w3c Working draft

中阅读更多内容

现代网络浏览器支持此功能。

答案 2 :(得分:0)

尝试$ .load()。见http://api.jquery.com/load/