首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AJAX与JSon“跨域内置安全”问题

问AJAX与JSon“跨域内置安全”问题
EN

Stack Overflow用户
提问于 2010-01-25 03:52:35
回答 2查看 688关注 0票数 4

看起来我不能使用"AJAX“在当前域名之外进行呼叫。但是我可以在JQuery中调用twitter API (使用JSON) ...两者不都使用XMLHTTP对象吗?如果是(或者不是),为什么我可以用JSON (使用JQuery)调用另一个域名,但不能用AJAX调用?Ajax和JSON有什么不同呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-01-25 03:55:45

twitter API使用JSONP,JSONP不使用XMLHTTPRequest,但使用<script>标记来包含“外来”javascript。然后,此脚本调用您自己的javascript中的函数。

如果没有这个“黑客”(这实际上就是黑客),谷歌地图在第三方网站中的集成是不可能的。

以下是有关JSONP的更多信息:

http://ajaxian.com/archives/jsonp-json-with-padding

或者在维基百科关于JSON的文章中:

http://en.wikipedia.org/wiki/JSON#JSONP

票数 7
EN

Stack Overflow用户

发布于 2010-01-25 04:08:42

JSON是一种文件格式,而AJAX是JavaScript中的一种技术,用于在页面加载完成后从web服务器发送和接收数据。AJAX中的X代表XML (也是一种文件格式),它是JSON的替代格式,但用词有点不当,因为人们称之为AJAX的很多东西实际上根本不使用XML。

LeyBaert先生关于JSONP的链接在实际解释Twitter API中发生的事情方面非常有用;它根本不是XMLHTMLRequesting,只是另一个脚本标记,它指向twitter网站上的一个javascript文件,然后当页面第一次加载时,它会与页面的其余部分一起加载。

您可以通过这样做来获得整洁的效果,但是我不认为您可以在页面加载之后(就像使用AJAX一样),除非您开始处理隐藏的IFrames或类似的东西。如果您确实需要在不使用XMLHTTPRequests的情况下获得AJAX风格的内容,那么就需要考虑这个问题:动态地向文档添加一个IFrame,该文档引用一个页面,该页面请求来自另一个站点的脚本(或类似的脚本)。有一些关于这个here的利弊的讨论。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2128520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档