Jquery:如何不允许下一个 $.post(),直到解决前一个


Jquery: How to not allow next $.post(), till previous is resolved

我有一个聊天页面,其中一次执行多个 $.post()。当一次执行多个 $.post() 时,服务器会抛出ERR_EMPTY_RESPONSE

为了尽量减少,我创建了一个测试页面。当连续给出输入几秒钟时,会发生ERR_EMPTY_RESPONSE。

页面内容:

答.php

<script>
     $(document).ready(function(e) { $(".abc").keyup(function(){
     var a = $(this).val();
     $(".showoff").text("wait..");
     $.post('bbs.php',{a:a},function(abc){
     $(".showoff").html(abc);
     }); });}); 
</script> 
<input type="textbox" class="abc"> <div class="showoff">Type to Change Me!</div>

BBS.php

<?php
    echo $_POST['a'];
?>

我认为这个问题可能是因为在响应前一个请求之前发出了多个请求。
那么,在解决上一篇文章之前,如何不允许下一篇文章呢?或者,这背后可能有什么问题?
提前谢谢。

每次按下某个键时,您都会向服务器发送 http 请求,也许您的服务器无法同时响应所有这些请求。

那么,您可以添加一个if语句,检查按下的键是否是 Enter 键,并在按 Enter 后禁用输入并在 ajax 请求响应后再次启用?