我有一个聊天页面,其中一次执行多个 $.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 请求响应后再次启用?