6

我已经建立了一个 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();
                }
    });

和 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   
}
4

2 回答 2

2

使用 JSON 来加快 Ajax 脚本与服务器之间的连接。

于 2013-04-10T09:21:04.490 回答
1

您可以使用 JSONP 来提高 ajax 的速度,您将从 http://www.jquery4u.com/json/jsonp-examples/获得更多详细信息

于 2013-04-10T09:22:03.993 回答