0
我有一個提交按鈕的簡單輸入框,單擊它時會向服務器端PHP發送XHR請求以獲取一些信息。在其最簡單的形式中,標記看起來像這樣:ReferenceError找不到變量createXMLHTTPRequestObject
<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上實現。