【发布时间】:2016-09-26 13:10:00
【问题描述】:
我经常看到具有搜索功能的网站,当他们搜索某些内容时,网页通常会将 url 更改为类似以下内容的内容 search.php?q="searchquery"& 等,我的网站上有一个搜索页面,我使用 ajax 提交一个具有搜索输入的表单并发送到一个 php 页面,该页面搜索我的数据库并将数据返回到特定的通过 echo 在原始页面上显示 div。
function getdata() {
var str = document.getElementById("searcb");
document.getElementById("demo").innerHTML = "You are searching for: " + str.value;
document.getElementById("searchresults").style.display="block";
if (str == "") {
document.getElementById("demo").innerHTML = "";
return;
}
else {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("searchresults").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "getuser.php?q=" + str.value, true);
xmlhttp.send();
return false;
}
}
HTML
<form onsubmit="return getdata()">
<input type="search" id="searcb" name="searchBar"></br></br>
</form>
我的问题是,与普通搜索引擎相比,我做了哪些不同的操作导致我的网址保持不变
【问题讨论】:
-
当一个 url 改变例如。
?q="searchquery表示=后面的部分被$_GET使用。但是因为您使用的是 ajax,即 javascript,所以在使用$_GET时不需要重新加载页面需要重新加载的页面 -
我认为它的意思是javascript历史API。您可以使用此 api 来操作您的 url,而无需重新加载。演示:http://html5demos.com/history
标签: javascript php jquery html ajax