在Firefox和Chrome中使用Ajax POST而不是IE8

时间:2012-01-19 16:00:22

标签: javascript ajax

我遇到以下代码问题。 当我在IE8中运行它时,当我从通话中成功返回时,我会收到警报。

在Firefox和Chrome中不会发生这种情况,即在此处运行时我没有收到任何警报。 其他所有工作,除了在我看来,一旦调用成功失败,应该执行的代码部分。

function stuffFile(file, wfid) {

    var xmlhttp = new XMLHttpRequest();

    if(window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp = new XMLHttpRequest();
        } else {// code for IE6, IE5
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }

    var url = "http://someotherserver.page.aspx";
    var params = "fileName=" + file + "&param11=" + wfid;
    xmlhttp.open("POST", url, true);

    //Send the proper header information along with the request
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.setRequestHeader("Content-length", params.length);
    xmlhttp.setRequestHeader("Connection", "close");

    xmlhttp.onreadystatechange = function() {//Call a function when the state changes.
        //alert('onready');
        if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            var response = jQuery.trim(xmlhttp.responseText);
            alert('response ' + response);
        }
    }
    xmlhttp.send(params);


}

1 个答案:

答案 0 :(得分:1)

您已经在使用jQuery,您应该使用其AJAX功能。它负责创建XMLHTTPRequest对象以及不同浏览器之间的所有差异,并且可以手动执行许多操作。