我已经构建了一个ajax帖子,我通过它将一些数据发送到另一个php文件,最后进行实时搜索......但事情是它有点慢,当我在框内输入内容时,ajax占用1 -2秒即可开火....我希望搜索类似于youtube的搜索或Facebook搜索,非常快,当我在那里输入内容时会立即显示建议...任何想法如何解决这个问题?
这是代码:
$("#search").keyup(function(){
var value = $(this).val();
var categ = $("#categ").val();
if (value.length >= 1)
{
$.ajax({
type: "POST",
url: "../core/search.php",
data: { string : value , categ : categ },
success: function(result){
$(".each_movie").hide();
$(".search_movie").remove();
$("#movies").append(result);
}
});
}
else
{
$(".each_movie").show();
$(".search_movie").remove();
}
});
Run Code Online (Sandbox Code Playgroud)
和PHP
$src = $_POST['string'];
$categ = $_POST['categ'];
$sql = mysql_query("SELECT * FROM movies WHERE `$categ` LIKE '%".$src."%' ") or die(mysql_error());
while ($sql_grab = mysql_fetch_assoc($sql))
{
?>
<div class="search_movie">
<p style="margin-bottom:5px;font-family:'Lucida Sans Unicode', 'Lucida Grande', sans-serif;color:rgba(255,255,255,0.3);font-size:12px;">Din: <?php echo $sql_grab['airdate']; ?> in cinematografe.</p>
<table>
<tr>
<td rowspan="2" valign="top"><img class="main_pic" src="<?php echo $sql_grab['mainpic']; ?>" width="180px" /></td>
<td><p class="name"><?php echo $sql_grab['name']; ?></p></td>
</tr>
<tr>
<td><div class="desc_wrapper" id="<?php echo $id; ?>" style="display:inline-block;"><p class="desc"><?php echo mysql_real_escape_string($sql_grab['description']); ?></p></div><p nr="<?php echo $id; ?>" id="more<?php echo $id; ?>" class="more" style="position:absolute;margin:30px 2px;color:rgba(255,255,255,0.2);cursor:pointer;display:inline-block">...cite?te</p></td>
</tr>
</table>
</div><!--each movie end-->
<?php
}
Run Code Online (Sandbox Code Playgroud)