【问题标题】:what causes the URL to change upon form submissions是什么导致 URL 在表单提交时更改
【发布时间】: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


【解决方案1】:

通常,由于执行了重新加载页面的帖子,因此 URL 会发生变化。你的 url 不会改变,因为你调用了一个不会重新加载你当前页面的 ajax 调用。

【讨论】:

    猜你喜欢
    • 2017-06-06
    • 2012-10-05
    • 2014-10-02
    • 2013-01-26
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    • 2019-11-23
    相关资源
    最近更新 更多