Livesearch 将用户searchword存储在mysql中
我正在编写一个小片段,一个使用MySQL的实时搜索 现在,我认为存储/保存用户在哪个搜索词上进行搜索是件好事 例如: 用户搜索 我的新书 然后我想把它存储到我的数据库中 现在的问题是我的脚本,我在keyup上触发ajax。然后它就会储存起来 我是我的N我的Ne我的新。。。。等等 等等,我怎么能绕过这个,只存储孔线Livesearch 将用户searchword存储在mysql中,livesearch,Livesearch,我正在编写一个小片段,一个使用MySQL的实时搜索 现在,我认为存储/保存用户在哪个搜索词上进行搜索是件好事 例如: 用户搜索 我的新书 然后我想把它存储到我的数据库中 现在的问题是我的脚本,我在keyup上触发ajax。然后它就会储存起来 我是我的N我的Ne我的新。。。。等等 等等,我怎么能绕过这个,只存储孔线 $(function() { $("#searchword").keyup(function(){ var text = $(this).val();
$(function() {
$("#searchword").keyup(function(){
var text = $(this).val();
if (text != ' ') {
$('#result').html(" ");
$.ajax({
type: 'post',
url: 'livesearch.php',
data: { 'search': text },
success: function(dataReturn) {
$('#result').html(dataReturn);
}
});
}
});
});
我创建了一个
storeText(txt,time)
函数,该函数将文本作为第一个参数,并将发送ajax之前的等待时间作为第二个参数。您可以根据需要更改第二个参数。在我的评论下面的函数中添加ajax调用,您就可以开始了
$(function() {
$("#searchword").keyup(function(){
var text = $(this).val();
if (text != ' ') {
//THIS IS WHERE YOU CAN MODIFY THE TIME
storeText(text,1000);
$('#result').html(" ");
$.ajax({
type: 'post',
url: 'livesearch.php',
data: { 'search': text },
success: function(dataReturn) {
$('#result').html(dataReturn);
}
});
}
});
});
var timer;
function storeText(txt,time){
clearTimeout(timer);
timer = setTimeout(function(){
//ADD YOUR SAVE QUERY AJAX HERE
},time);
}
下面是一个JSFIDLE,可以看到它的实际作用:
尝试在文本框中键入任何内容,它会等待1000毫秒,然后才能执行ajax所在的代码。我创建了一个
storeText(txt,time)
函数,该函数将文本作为第一个参数,将ajax作为第二个参数发送之前等待的时间。您可以根据需要更改第二个参数。在我的评论下面的函数中添加ajax调用,您就可以开始了
$(function() {
$("#searchword").keyup(function(){
var text = $(this).val();
if (text != ' ') {
//THIS IS WHERE YOU CAN MODIFY THE TIME
storeText(text,1000);
$('#result').html(" ");
$.ajax({
type: 'post',
url: 'livesearch.php',
data: { 'search': text },
success: function(dataReturn) {
$('#result').html(dataReturn);
}
});
}
});
});
var timer;
function storeText(txt,time){
clearTimeout(timer);
timer = setTimeout(function(){
//ADD YOUR SAVE QUERY AJAX HERE
},time);
}
下面是一个JSFIDLE,可以看到它的实际作用:
尝试在文本框中键入任何内容,它会等待1000毫秒,然后在ajax所在的位置执行代码。查看您正在使用的javascript代码会很有帮助。您可以使用setTimeout和clearTimeout实现,仅在用户停止键入几秒钟后保存数据。这样行吗?-我的意思是,如果用户搜索“我的新书”时什么也没有出现,那么用户就会离开我的主页。如果计时器是2秒,它会保存搜索词吗?@owaisafaq我已经添加了我的jquery:)我的答案有帮助吗?你好,我的朋友,我还没有完成脚本,但是是的,我想我会在将它存储到mysql之前添加一个计时器。如果能看到你正在使用的javascript代码,那会很有帮助。您可以使用setTimeout和clearTimeout实现,仅在用户停止键入几秒钟后保存数据。这样行吗?-我的意思是,如果用户搜索“我的新书”时什么也没有出现,那么用户就会离开我的主页。如果计时器是2秒,它会保存搜索词吗?@owaisafaq我已经添加了我的jquery:)我的答案有帮助吗?你好,我的朋友,我还没有完成脚本,但是是的,我想我会在将它存储到mysql之前添加一个计时器。。