我在四年前写了一些关于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而改变?从我记得习惯的工作,但显然我不能回过头来测试它,我在网上看不到任何表明相同原产地政策变化的文件。如果这是关于主题的道歉,我只是想了解这种行为的变化是如何发生的。一个简单的“是的,这个改变了”或“不,它永远不会改变,这应该永远不会起作用。”会做的。
答案 0 :(得分:1)
相同的源必须与域完全匹配,协议(例如http
或https
必须匹配)和端口(如果指定)。我的猜测是您的页面切换到https
或开始使用自定义端口?
例如,从https://www.example.com/index.html
开始,您无法对http://www.example.com/script.php
进行ajax调用。