【问题标题】:Workaround to same-origin-policy, redirect to separate page?同源策略的解决方法,重定向到单独的页面?
【发布时间】:2012-07-30 12:28:32
【问题描述】:

我有一个 html 页面,它需要使用 ajax 请求访问不同服务器上的资源:

    $.ajax({
        url: "externalUrl/myjson.js",       

        }); 

但由于“同源策略”,我无法访问该资源。作为一种解决方法,我修改了 html 页面,该页面只是重定向到单独服务器上的新页面。这个新页面调用 ajax 请求没有问题,因为它是从同一来源发出的。这是可接受的解决方法吗?

【问题讨论】:

  • 您是否尝试过首先使用jsonp 作为数据类型来获取外部资源?

标签: jquery same-origin-policy


【解决方案1】:

同源政策不是法律或任何东西,只是浏览器内置的一种措施,用于防止 XSRF 和其他东西。如果您找到了适合您的解决方法,那么没有什么是“不可接受的”。

【讨论】:

  • 这不太可能适用于所有主要浏览器/版本。
【解决方案2】:

尝试将 jsonp 用于 jQuery.ajax 中的 dataType 属性。远程服务器也需要支持 jsonp。它将绕过浏览器安全,防止 XSS。

这将绕过 XSS 的浏览器安全性。您调用的 url 也需要返回 jsonp 才能正常工作。

$.ajax({
        url: "externalUrl/myjson.js",       
        dataType: jsonp
        }); 

【讨论】:

    猜你喜欢
    • 2016-05-22
    • 2012-08-22
    • 2011-01-25
    • 2021-06-08
    • 2018-12-07
    • 2010-11-21
    • 2016-09-18
    • 1970-01-01
    • 2017-02-01
    相关资源
    最近更新 更多