Javascript 同源策略-AJAX&;使用公共API

Javascript 同源策略-AJAX&;使用公共API,javascript,ajax,xmlhttprequest,same-origin-policy,Javascript,Ajax,Xmlhttprequest,Same Origin Policy,我知道在我自己的网页上,如果我的用户在: 我从该页面向以下用户发出ajax请求: 由于相同的源策略(子域不同),它将失败 我想了解的是,当请求和服务器明显不同时,AJAX请求如何从类似flickr的API中提取数据 编辑: 这个代码为什么有效 $.getJSON('http://api.flickr.com/services/rest/?&;method=flickr...' () 它在使用吗 谢谢 很少有已知的方法可以处理同一来源策略。一种流行的技术是使用“脚本标记注入”,如。

我知道在我自己的网页上,如果我的用户在:

我从该页面向以下用户发出ajax请求:

由于相同的源策略(子域不同),它将失败

我想了解的是,当请求和服务器明显不同时,AJAX请求如何从类似flickr的API中提取数据


编辑:

这个代码为什么有效

$.getJSON('http://api.flickr.com/services/rest/?&;method=flickr...'
() 它在使用吗


谢谢

很少有已知的方法可以处理同一来源策略。一种流行的技术是使用“脚本标记注入”,如。由于
标记不受同源策略的约束,第三方域上的脚本可以提供与提供的回调函数交互的可执行代码。您可能希望查看以下文章中的“提示和窍门”部分,以便进一步阅读该主题:

  • (hunlock.com)
您还可能有兴趣查看以下堆栈溢出文章,以便进一步阅读其他技术,以解决同源策略的问题:


更新:进一步更新问题:

从jQuery文档中引用以下内容:

如果URL中包含字符串“callback=?”,则请求将被视为JSONP


与其说元素不受同源策略的约束,不如说JavaScript不能访问返回的原始数据。这取决于第三方提供的可执行代码与您提供的函数进行交互。@David:谢谢。更新我的答案更准确:)啊哈!该死,jQuery做了所有这些把戏,在后台处理它整洁的Love jQuery---Ref:上述文章现在位于