为什么此ajax代码会延迟? - javascript

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

这是结构和方法。

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>

search_address.php:

<?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"

这样,addressList_layer总是比input_address延迟一步。

我不知道为什么

有谁能猜出这种情况的原因并给我解决方案?

ps。 xhrDocOpen()是...

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('');
}

参考方案

如果您尝试使用“ keydown”事件,这是常见问题。

只需尝试将其更改为“ keyup”,它应该可以工作。

PHP Javascript更改浏览器后退按钮行为Laravel - javascript

我知道有各种各样的线程要求几乎相同的要求,但似乎没有一个真正满足我的需求。在我的网站上,我实现了搜索表单。一个简单的表单,其中包含一个名为searchQuery的输入字段和一个提交按钮。表单通过POST方法发送。我正在使用Laravel btw。。然后将搜索结果从控制器加载到视图中。这些在表中显示。现在来了有趣的部分:找到的元素是可单击的,并且您进入有关该元…

Javascript-从当前网址中删除查询字符串 - javascript

单击提交按钮后,我需要从网址中删除查询字符串值。我可以用jQuery做到这一点吗?当前网址:siteUrl/page.php?key=value 页面提交后:siteUrl/page.php 实际上,我已经从另一个带有查询字符串的页面着陆到当前页面。我需要在页面首次加载时查询字符串值以预填充一些详细信息。但是,一旦我提交了表格,我就需要删除查询字符串值。我已…

PHP json_encode数组到javascript关联数组 - javascript

我有一些从PHP中读取的mysqli列。它正在完美地获取和回显。$results = mysqli_fetch_assoc(mysqli_query($conn, $querystring)); echo json_encode($results); //$results = {"title":"Sea Shells"…

PHP-显示特殊字符 - javascript

允许用户输入的代码段//fetch user input and pass it in URL alertify.prompt("Please enter note/remarks for this Form (optional):", function (e,value) { if (e) { alertify.success(…

php curl远程页面javascript提取 - javascript

我有一个远程页面,下面显示了其源代码,<!DOCTYPE html> <html> <head> <title>somethingg blabla</title> </head> <body> <script type="text/javascript…