createXMLHTTPRequestObject

createXMLHTTPRequestObject

我有一个带有输入按钮的简单输入框,单击该按钮后,它会向服务器端PHP发出XHR请求以获取某些信息。以最简单的形式,标记如下所示:

<input type="text" id="word" class="form-control input-lg lookup-field" placeholder="Enter a Spanish or English word" oninput="deleteicon();" required>
<button class="btn btn-lg btn-brown lookup-submit" type="submit" id="lookup">Lookup</button>


按钮的onclick事件触发执行XHR请求的功能:

$('#lookup').click(function(){ testlookup($('#word').val()); return(false); });


testlookup()函数如下:

function testlookup(lookupword){
    var mean = document.getElementById('meaning');
    var waittext = '<div id="loading text-center"><i class="fa fa-4x fa-spinner fa-spin"></i></div>';
    var hr = createXMLHTTPRequestObject();
    var url = '/assets/engines/dictengine.php';
    var vars = "lookup_word=" + lookupword;
    document.getElementById('word').value = lookupword;
    hr.open("POST", url, true);
    hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    hr.onreadystatechange = function(){
        if(hr.readyState == 4 && hr.status == 200){
            var return_data = hr.responseText;
            mean.innerHTML = return_data;
        else if(hr.status == 500){ mean.innerHTML = "Something went wrong! Please try again later..."; }
    }
    hr.send(vars);
    mean.innerHTML = waittext;
}


我看不到为什么这应该拒绝工作,并且真的很感谢看到该问题的一些帮助。每次我在输入框中输入值并单击按钮时,控制台会在浏览器继续刷新带有“?”的页面时短暂闪烁“找不到变量createXMLHTTPRequestObject”错误。附加到URL。这里可能是什么问题,为什么是“?”如果我用return(false)语句适当终止了onclick函数,则将其附加到URL吗?

该代码在peppyburro.com/test-dictionary中实现。

最佳答案

您正在尝试调用名为createXMLHTTPRequestObject的函数,但该函数不存在。 JS引发异常,并且永远不会到达return (false)语句。

10-08 16:55