Ajax调用在IE7和FF中不起作用

时间:2009-10-12 11:16:23

标签: javascript jquery

我有一个带有ajax调用的js文件在IE6中工作正常,但在IE7或FF中没有。有人可以帮忙吗?

window.onload = function() {
    var xmlhttp;
    var url = "myurl";
    if (window.XMLHttpRequest) {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) {
    debugger;
    alert("Hello");
        // code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else {
        alert("Your browser does not support XMLHTTP!");
    }
    xmlhttp.open("GET", url, true);
    xmlhttp.send(null);
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4) {
            alert(xmlhttp.responseText);
        }
    }
} 

在IE7中,我收到访问被拒绝错误。请帮忙。

编辑: 我现在正在尝试使用jQuery, 代码:

$(function() {       
        $.ajax(
                    {
                        type: "GET",
                        url: "myurl",
                        datatype: "html",
                        success: function(xhtml) {
                          $("#con").html(xhtml);
                        },
                        error: function() {
                            displayMessage(......);
                        }
                    });
    });

仍然在IE6中工作但在Others中没有。如果是跨域问题,那么如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

这可能是一些安全问题。通过将您在此处使用的所有网址添加到受信任的网站列表来查看它是否有效。

答案 1 :(得分:0)

IE6在Javascript和跨域策略方面存在已知的错误/问题。这就是为什么(除其他原因)IE6在许多大型组织的跨浏览器兼容性方面不再受支持(为什么鼓励有这样的漏洞的东西?)

我的猜测是,您的var url = "myurl"指向另一个域或子域上的内容。但我们需要更多细节来确定。