Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery即时搜索在尝试太多次后暂停_Javascript_Jquery - Fatal编程技术网

Javascript Jquery即时搜索在尝试太多次后暂停

Javascript Jquery即时搜索在尝试太多次后暂停,javascript,jquery,Javascript,Jquery,在我的即时搜索调用GODADDY上的LAMP SQL Server后,搜索崩溃,不会返回任何即时搜索结果。可能出了什么问题?在进行过多的即时搜索后,服务器会崩溃吗 脚本如下: <form role="form" method="post" class="search"> <input type="text" class="form-control" id="keyword" placeholder="Search for the perfect horse...">

在我的即时搜索调用GODADDY上的LAMP SQL Server后,搜索崩溃,不会返回任何即时搜索结果。可能出了什么问题?在进行过多的即时搜索后,服务器会崩溃吗

脚本如下:

<form role="form" method="post" class="search">
    <input type="text" class="form-control" id="keyword" placeholder="Search for the perfect horse...">
</form></center>
<center><ul id="content"></ul></center>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
    $(document).ready(function () {
        $('#keyword').on('input', function () {
            var searchKeyword = $(this).val();
            if (searchKeyword.length >= 0) {
                $.post('search2.php', { keywords: searchKeyword }, function (data) {
                    $('ul#content').empty()
                    $.each(data, function () {
                        $('ul#content').append('<a href="getgift2.php?id=' + this.Horse + '">' + this.Horse + '  ' + this.odds + '  ' + this.UTCTime + '  ' + this.state + '</a><br /><br />');
                    });
                }, "json");
            }
        });
    });
</script> 

if (!empty($_POST['keywords'])) {
$dateWindow=(int)$_POST['dateWindow'];

$keywords = $db->real_escape_string($_POST['keywords']);
$sql = "SELECT Horse, odds, UTCTime, state FROM Runners WHERE Horse LIKE '%".$keywords."%' and UTCTime > '".$d."' ORDER BY UTCTime ASC";
$result = $db->query($sql) or die($mysqli->error);
if ($result->num_rows > 0) {
    while ($obj = $result->fetch_object()) {
        $arr[] = array('Horse' => $obj->Horse, 'odds' => $obj->odds, 'UTCTime' => $obj->UTCTime, 'state' => $obj->state);
    }
}
}
echo  json_encode($arr) ;

是的,即时搜索请求可能会导致服务器崩溃,因为快速请求被发送到服务器并执行大量mysql查询以获得结果。
一个好的解决方案是使用库来限制您的函数,以避免服务器崩溃。

if!空$\u POST['keywords']{$dateWindow=int$\u POST['dateWindow'];$keywords=$db->real\u escape\u string$\u POST['keywords'];$sql=SELECT Horse,赔率,UTCTime,来自跑步者的状态,其中类似于马的“.$keywords.%”和UTCTime>“$d.”按UTCTime ASC排序;$result=$db->query$sql或die$mysqli->error;if$result->num rows>0{while$obj=$result->fetch_object{$arr[]=数组'Horse'=>$obj->Horse',赔率'=>$obj->赔率,'UTCTime'=>$obj->UTCTime',state'=>$obj->state;}}}}}}echo json_encode$arr;不要在注释中发布代码块。编辑您的问题。