使用XMLHttpRequest请求对同一源策略的历史更改

时间:2014-03-10 02:16:01

标签: javascript ajax

我在四年前写了一些关于XMLHttpRequest请求的javascript,看起来像是:

xmlhttp.open('GET', 'http://www.example.com/script.php?arg=val&sid=' + Math.random(),true) ;

其中example.com是同一个域名。这现在不起作用,所以我将其改为:

xmlhttp.open('GET', 'script.php?arg=val&sid=' + Math.random(),true) ;

并且所有主流浏览器的一切正常,正如预期的那样。

我的问题是:在过去四年中,Chrome和Firefox的原始政策是否因为需要修复此XMLHttpRequest而改变?从我记得习惯的工作,但显然我不能回过头来测试它,我在网上看不到任何表明相同原产地政策变化的文件。如果这是关于主题的道歉,我只是想了解这种行为的变化是如何发生的。一个简单的“是的,这个改变了”或“不,它永远不会改变,这应该永远不会起作用。”会做的。

1 个答案:

答案 0 :(得分:1)

相同的源必须与域完全匹配,协议(例如httphttps必须匹配)和端口(如果指定)。我的猜测是您的页面切换到https或开始使用自定义端口?

例如,从https://www.example.com/index.html开始,您无法对http://www.example.com/script.php进行ajax调用。