即时通讯使用Ajax与JavaScript和数据处理的PHP页面与GET。当GET查询为空时,是否可以从php页面发送数据?我想这样做是因为我有一个实时搜索过滤结果,但我希望匹配结果在用户在搜索框中输入内容并且字符串与搜索框匹配时显示,当字段为空时,我希望显示所有结果。因此,如果用户在搜索框中输入内容并获得匹配结果,然后按退格键删除它,我希望所有结果都显示出来。所以显然最好的办法是能够在php页面上做些什么,当查询是空的时候,但当我这样做时,它不起作用。什么是实现这一目标的最佳方式?Ajax响应空GET
所以JavaScript的网页看起来是这样的:
function showResults(str) {
if (str.length == 0) {
document.getElementById("results").innerHTML = "";
return;
} else {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("txtHint").innerHTML = this.responseText;
}
};
xmlhttp.open("GET", "query.php?q=" + str, true);
xmlhttp.send();
}
}
PHP的页面看起来如下:
$q = $_REQUEST["q"];
if ($q !== "") {
....Get Data from database or elsewhere here
echo $reponse;
}
如果我的PHP页面上它后面不工作:
if ($q == "") {
....Get Data from database or elsewhere here
echo $reponse;
}
如果我检查空或isset它也不工作propery。
我可以做一些事情时,搜索输入是空的地方是JavaScript的网页
if (str.length == 0) {
document.getElementById("results").innerHTML = "";
return;
}
我怎样才能使PHP页面上查询或其他操作时,搜索是空的?所以我需要ajax在字段为空时向我发送数据库中的所有结果。
您能澄清您的问题并发布您正在使用的代码吗? –
也许我不完全理解你的问题,但你试过'isset()'或'empty()'吗? – Mardzis
是的,我在上面添加了一些代码。谢谢。 –