Javascript 为什么ajax代码会延迟?

Javascript 为什么ajax代码会延迟?,javascript,php,ajax,Javascript,Php,Ajax,我正在尝试制作搜索地址表 这就是本文的结构和方法 search_address.html: <form id="search_address_form" onSubmit="sendAddress(); return false;"> <input id="input_address" class="input_address" name="input_address" type="text" placeholder="example: blahblahblah"/&g

我正在尝试制作搜索地址表

这就是本文的结构和方法

search_address.html:

<form id="search_address_form" onSubmit="sendAddress(); return false;">
    <input id="input_address" class="input_address" name="input_address" type="text" placeholder="example: blahblahblah"/>
</form>
<div id="addressList_layer" class="addressList_layer">

<script>
    input_address = document.getElementById('input_address');
    input_address.addEventListener('keydown',function(){    
       sendAddress();    
    });

    function sendAddress(){
        xhrDocOpen('./php/search_address.php?searchingFor='+inputAddress_data.value,'addressList_layer','get');
        return false;
    }
</script>
这样,addressList\u层显示总是比input\u地址延迟一步

我不知道为什么

有没有人能猜出这种情况的原因并给我答案

ps.xhrDocOpen()是


如果您试图使用“键控”事件,这是一个常见问题


只要试着将其更改为“键控”,它就会工作。

谢谢。但你怎么知道这是一个常见的问题?是不是因为这些问题在这里被贴了很多?
<?php
include_once('./config.php');
extract($_GET);
echo ($searchingFor);
?>
input_address.value : "1"
addressList_layer.value : ""

input_address.value : "123"
addressList_layer.value : "12"

input_address.value : "123456"
addressList_layer.value : "12345"

input_address.value : "123abc"
addressList_layer.value : "123ab"
var xhr = new XMLHttpRequest();
function xhrDocOpen(doc,placeID,method){
    xhr.onreadystatechange=function(){
        if(xhr.readyState==4 && xhr.status==200){
            document.getElementById(placeID).innerHTML=xhr.responseText;
        }
    xhr.open(method,doc,true);
    xhr.send('');
}