我有一个带有输入按钮的简单输入框,单击该按钮后,它会向服务器端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)
语句。