【问题标题】:Ajax same origin policy and Jquery $.getJSONAjax 同源策略和 Jquery $.getJSON
【发布时间】:2011-07-28 14:43:45
【问题描述】:

我们知道 Ajax 请求只能向我们运行应用程序的同一台服务器上的资源发出,这称为同源策略。 但是以 JQuery ajax 方法 $.getJSON 为例,我们可以传入任何 url,即使它不涉及我们自己的服务器。这是否违反了禁止跨域 ajax 请求政策?

请帮忙 谢谢你

【问题讨论】:

    标签: jquery ajax same-origin-policy


    【解决方案1】:

    getJSON 使用JSONP protocol

    它不是生成一个不能跨域的 XmlHTTPRequest,而是生成一个 <script> 标记,指向不同域中的 URL。
    该 URL 假定返回一个脚本,该脚本使用相关数据调用指定的回调函数。

    【讨论】:

    • 基本上它将json响应包装在一个返回函数中。
    • 更重要的是,它要求您完全信任目标 URL。如果你不这样做,你就是在为他们提供在你的网站上运行代码的机会,这可能会被滥用来攻击网站或用户。
    猜你喜欢
    • 2012-08-22
    • 2014-07-23
    • 1970-01-01
    • 2011-06-08
    • 2011-01-28
    • 2012-08-11
    • 2011-07-20
    • 2013-05-17
    • 2011-04-01
    相关资源
    最近更新 更多