function getData(str) {
if (str.length == 0) {
var target = document.querySelectorAll("#delete");
return;
} else {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var target = document.querySelectorAll("#delete");
for(var i=0 ; i<target.length; i++){
target[i].innerHTML="";
target[0].innerHTML=this.responseText;
}
}
};
xmlhttp.open("GET", "data.php?q=" + str, true);
xmlhttp.send();
}
}
早上好,我在实时搜索中有以下javascript for AJAX请求。然后我将此数据发送到data.php页面,该页面检查q的get请求是否为空,如果不是,则返回匹配数据。现在,当搜索框为空时,我想显示所有结果,而不是显示没有结果。我试着在data.php页面上检查$ _GET请求是否为空 输出所有结果但它不起作用。当$ _GET [&#39; q&#39;]为空时,我似乎能够做某事的唯一方法是在上面的javascript中
if(str.length==0) {
....
} ;
现在我遇到的问题是,如果搜索为空,我想发送所有数据但是数据在我的php文件中,那么我如何将数据从php发送到javascript?可能会有更好的 这样做的方式还是有什么东西我不能来这里?
答案 0 :(得分:0)
如果要在搜索字符串为空时显示所有搜索结果,那么只要$ _GET的q参数为空,就可以检入data.php。如果它为空,则data.php可以返回所有数据。您的代码可以按如下方式更新:
function getData(str) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var target = document.querySelectorAll("#delete");
for(var i=0 ; i<target.length; i++){
target[i].innerHTML="";
target[0].innerHTML=this.responseText;
}
}
};
xmlhttp.open("GET", "data.php?q=" + str, true);
xmlhttp.send();
}