1

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

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

        }); 

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

4

2 回答 2

2

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

于 2012-08-01T15:11:41.053 回答
0

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

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

$.ajax({
        url: "externalUrl/myjson.js",       
        dataType: jsonp
        }); 
于 2012-08-02T17:41:11.150 回答