Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.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 没有使用Ajax的实时搜索数据?_Javascript_Php_Mysql_Ajax_Phpmyadmin - Fatal编程技术网

Javascript 没有使用Ajax的实时搜索数据?

Javascript 没有使用Ajax的实时搜索数据?,javascript,php,mysql,ajax,phpmyadmin,Javascript,Php,Mysql,Ajax,Phpmyadmin,您好,我目前正在从事一个项目,已经成功地将一个非常大的数据库连接到一个网站,并使用ajax live search从数据库中搜索数据。然而,我一直在到处寻找ajax实时搜索的非实时版本。当前的一个会在网页上显示数据库中的所有数据,如果数据库中有小数据,这很好,但我希望页面仅在用户搜索和输入时或仅在搜索时显示数据。与当前的ajax live搜索功能相同,只需在网页上显示数据,而无需先进行用户搜索。这是来自ajax live search的javascript代码: $(文档).ready(函数(

您好,我目前正在从事一个项目,已经成功地将一个非常大的数据库连接到一个网站,并使用ajax live search从数据库中搜索数据。然而,我一直在到处寻找ajax实时搜索的非实时版本。当前的一个会在网页上显示数据库中的所有数据,如果数据库中有小数据,这很好,但我希望页面仅在用户搜索和输入时或仅在搜索时显示数据。与当前的ajax live搜索功能相同,只需在网页上显示数据,而无需先进行用户搜索。这是来自ajax live search的javascript代码:

$(文档).ready(函数(){
加载_数据();
函数加载\u数据(查询)
{
$.ajax({
url:“fetch.php”,
方法:“张贴”,
数据:{query:query},
成功:功能(数据)
{
$('#result').html(数据);
}
});
}
$(“#搜索_文本”).keyup(函数(){
var search=$(this.val();
如果(搜索!='')
{
加载_数据(搜索);
}
其他的
{
加载_数据();
}
});

});为了避免在进行搜索之前加载数据,您需要删除脚本开头的函数调用:

$(document).ready(function(){
    load_data(); // this line needs to be removed
    ...
}
当您显式调用函数时,它将被执行。包装在
$(document).ready()
中,它指示浏览器在加载页面时运行该函数

如果希望在清除搜索框后删除数据,则需要修改事件处理程序,如下所示:

if (search != '') {
    load_data(search);
} else {
    // this is where "load_data();" used to be
    $('#result').html('');
}

这将替换以前搜索中可能附加到显示元素的任何内容。

不要调用
load_data()文档准备就绪时?每次加载页面时都会显式调用该函数。@El_Vanja但是如果我删除了加载数据,那么当我尝试搜索时,不会显示任何数据。这听起来不对。为了安全起见,并确保我们彼此理解,我在谈论你剧本中的第一行。它指示浏览器在加载页面时运行该功能。当在
#search_text
元素中检测到输入时,删除该项不应影响正在进行的函数调用。啊,是的,我现在明白了。对不起,误会了。是的,现在可以了。然而,当我输入信息并删除文字时。最后的页面显示数据库中的所有数据。“当我刷新所有内容时,直到我再次搜索为止,当我再次剪切它时,它只会再次显示所有数据”。@El_Vanja@El_Vanja有没有一种方法可以让我在完成搜索后,搜索栏再次变空,而不是显示数据库中的所有数据,脚本的功能与我第一次访问页面时的功能相同除非在搜索中输入了某些内容,否则它不会显示任何数据?非常感谢!我刚刚用这个完成了它,它工作得非常好!默认情况下,ajax live搜索很好,但一旦搜索被清除,它仍然会显示没有任何意义的数据。现在这样就完美了。非常感谢你!谢谢。对Php/Ajax还不熟悉,所以仍在学习中。