XMLHttpRequest在Firefox中格式不正确

时间:2013-12-25 12:55:01

标签: javascript

我有这个代码来形成get XMLHttpRequest:

var makeRequest = function () {
    var xmlhttp = getXmlHttp();
    var params = 'name=' + encodeURIComponent('123') + '&surname=' + encodeURIComponent('surname')
    xmlhttp.open("GET", 'site.html?' + params, true);
    xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            alert(xmlhttp.responseText);
        }
    }
    xmlhttp.send(null)
}

我有这个跨浏览器功能:

getXmlHttp = function () {
    var xmlhttp;
    try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (E) {
            xmlhttp = false;
        }
    }
    if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
        xmlhttp = new XMLHttpRequest();
    }
    return xmlhttp;
}
makeRequest()

所有代码都在本地文件中。没有服务器端。 但Firefox在控制台中说:

  

'格式不正确'

那有什么不对?

UPD:我添加了xmlhttp.overrideMimeType("text/html"); 它现在没有出错,但我仍然无法在Firefox的网络检查器中看到它 但我可以在Chrome中看到它。

1 个答案:

答案 0 :(得分:2)

如果您指定了MIME类型,则可能会有所帮助。

xmlhttp.overrideMimeType("text/html");

或者也许site.html确实形成错误 - 检查开始标签,关闭标签等......