我们一直在为我们的应用程序使用 Ajax 调用,并且它在服务器域中的 url 上运行良好。但是,当我在网络上使用 ajax 调用 url 时,我发现它在没有正确错误消息的情况下失败。我在网上搜索了给定的详细信息,但找不到任何合理的原因或解决此问题的方法。
我的代码是一个简单的 ajax 调用,如下所示。
var url = "http://www.google.com";
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
alert('done');
}
};
xmlhttp.open("GET",url,true);
xmlhttp.send();
如果 url 来自服务器域,则可以正常工作,但是当这是像 google 这样的开放 Internet url 时,它会在不同的浏览器中出现不同的行为而失败。
在 IE9 中,xmlhttp.open("GET",url,true) 给出“Javascript 错误:访问被拒绝”并且 xmlhttp.status 变为“由于错误 c00c023f 无法完成操作”
在 Chrome 和 FF 中,日志中没有显示错误,但是 xmlhttp.status 变为 0
在所有情况下,ajax 调用都不成功。
这种问题的原因可能是什么?我认为这不是网络问题,因为如果直接在浏览器上尝试,我可以访问 google url。那么,什么可能会阻止它从浏览器尝试 ajax 调用呢?
问候 Vijay.K