我有一个html页面需要使用ajax请求访问不同服务器上的资源:
$.ajax({
url: "externalUrl/myjson.js",
});
但由于“同源策略”,我无法访问该资源。作为一种解决方法,我修改了html页面,该页面只是重定向到单独服务器上的新页面。这个新页面在没有问题的情况下调用ajax请求,因为它是从同一个源发出的。这是一个可接受的解决方法吗?
答案 0 :(得分:2)
同源政策不是法律或任何东西,只是浏览器内置的一种措施,可以防止XSRF和东西。如果你找到一个适合你的工作,那就没什么“不可接受的”了。
答案 1 :(得分:0)
尝试在jQuery.ajax中使用jsonp作为dataType属性。远程服务器还需要支持jsonp。它将绕过浏览器安全防范XSS。
这将绕过XSS的浏览器安全性。你要调用的url也需要返回jsonp才能工作。
$.ajax({
url: "externalUrl/myjson.js",
dataType: jsonp
});