我有以下代码:

<script type="text/javascript" language="javascript">
<!--
function getXMLHTTP() { //function to return the xml http object
        var xmlhttp=false;
        try{
            xmlhttp=new XMLHttpRequest();
        }
        catch(e)    {
            try{
                xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch(e){
                try{
                req = new ActiveXObject("Msxml2.XMLHTTP");
                }
                catch(e1){
                    xmlhttp=false;
                }
            }
        }

        return xmlhttp;
    }

    function wait1()
    {
        document.getElementById('comment').innerHTML="Please wait...";
    }

    function getComment(strURL) {

        var req = getXMLHTTP();

        if (req) {

            req.onreadystatechange = function() {
                if (req.readyState == 4) {
                    // only if "OK"
                    if (req.status == 200) {
                        document.getElementById('comment').innerHTML=req.responseText;
                    } else {
                        alert("There was a problem while using XMLHTTP:\n" + req.statusText);
                    }
                }
            }
            req.open("GET", "comment_form.php", true);
            req.send(null);
        }

    }
//-->
</script>

    <div id="comment">
<form  action="javascript:get(document.getElementById('comment'));wait1()" method="post" enctype="multipart/form-data" >
<input type="submit" name="Submit" value="Post Your Comment" />
</form>
</div>


我敢肯定,过去我曾经使用过同样的软件,但是现在看来似乎没有用。我认为那里有些混乱,但无法弄清楚。

如果能找到解决方案,我将不胜感激。

最佳答案

我发现以上代码中的一个错误是:getComment(strURL)函数接受一个参数,该参数从未使用过。应该将“ comment_form.php”替换为函数的参数。而且,由于该软件较软,因此我将strURL重命名为易于阅读和拼写的“ url”。

(我认为DIV是打开的,而不是关闭的,这是格式上的疏忽。wait1函数在这里也未使用。)

无需将已弃用的“语言”属性添加到SCRIPT标记,也无需将任何JS代码包装在HTML注释中。

function getXMLHTTP() {
    var x = false;
    try {
        x = new XMLHttpRequest();
    }
    catch(e) {
        try {
            x = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(ex) {
            try {
                req = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch(e1) {
                x = false;
            }
        }
    }
    return x;
}

/* TODO: Where is this ever used? */
function wait1() {
    document.getElementById('comment').innerHTML = "Please wait...";
}
function getComment(url) {
    var req = getXMLHTTP();
    if (!req) {
        // Complain early, instead of nesting deeply
        alert('Unable to set up the XHR object.');
        return;
    }
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            // only if "OK"
            if (req.status == 200) {
                document.getElementById('comment').innerHTML = req.responseText;
            } else {
                alert("There was a problem while using XMLHTTP:\n" + req.statusText);
            }
        }
    };
    req.open("GET", url, true); // the "true" stands for "async", when is this not default?
    req.send(null); // do not add any content (null); when is this not default?
}


我在代码中添加了一些问题。

10-06 07:33