目前我正试图从site.com/ajax/countPM
拨打jack.site.com
,但请求的状态为已取消。
答案 0 :(得分:1)
不幸的是,尽管您在site.com上通过浏览器政策拨打电话到jack.site.com,这属于“相同域策略”的灰色阴影,但浏览器基本上将这两个域视为不同的域,并且由于这一点限制停止请求。实际上我不确定这只是一个浏览器的东西,甚至可能在更高的层次。但最重要的是,允许javascript能够跨域甚至子域进行通信具有安全风险,因为一些托管概念是子域,其中每个子域独立于另一个子域。
它存在安全风险,因为它很容易将内容注入假冒网站的毫无疑问的网站。
无论如何,更简单的解决方法之一是使用某种形式的服务器端脚本。在我的PHP案例中,您将使用cURL或Soap来获取远程域内容的内容,在这种情况下,我猜JSON或XML对象,然后从那里将其推送到您的脚本。
答案 1 :(得分:1)
(来自jQuery的关于AJAX调用的Additional Notes部分) 由于浏览器安全限制,大多数“Ajax”请求都遵循相同的原始策略;请求无法成功从其他域,子域或协议中检索数据。
既然如此,您可以使用2个选项来规避跨域AJAX策略:
如果您需要更多说明,请与我们联系。
答案 2 :(得分:0)
这可能适合您(添加到jack.site.com):
document.domain = "site.com";
确实不确定,但它适用于某些事情。