Javascript 在url中隐藏问题标记?

Javascript 在url中隐藏问题标记?,javascript,php,url,replace,Javascript,Php,Url,Replace,我有一个看起来像的url,这样我就可以根据使用情况在url中传递值,并相应地切换仪表板。我想要的是url应该是可见的,甚至可以。我想隐藏或替换url字符串(为了可见性),而不是重定向我尝试使用htaccess的url字符串。我们可以使用JavaScript来实现吗?您可以在浏览器历史记录JavaScript中推送状态。这将更改当前页面的url,而不会重定向到新的url。在页面加载事件中尝试以下代码 history.pushState("", "", "1"); 您可以使用AJAX从php文件获

我有一个看起来像的url,这样我就可以根据使用情况在url中传递值,并相应地切换仪表板。我想要的是url应该是可见的,甚至可以。我想隐藏或替换url字符串(为了可见性),而不是重定向我尝试使用htaccess的url字符串。我们可以使用JavaScript来实现吗?

您可以在浏览器历史记录JavaScript中推送状态。这将更改当前页面的url,而不会重定向到新的url。在页面加载事件中尝试以下代码

history.pushState("", "", "1");

您可以使用AJAX从php文件获取数据,并在浏览器上显示内容。 这将避免重定向,并且url将保持干净

我还没试过,但你可以做以下几点:

<!DOCTYPE html>
<html>
<body>
<p><span id="dashboardView"></span></p> 
<span class="btn" val="1" onclick="showDashboard(this)">Dashboard 1</span>

<script>
function showDashboard(elem) {
  var xhttp;
  var val = elem.getAttribute("val");

  xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      document.getElementById("dashboardView").innerHTML = this.responseText;
    }
  };
  xhttp.open("GET", "dashboard/index.php?id="+val, true);
  xhttp.send();   
}
</script>

</body>
</html>

仪表板1 功能显示仪表板(elem){ var-xhttp; var val=elem.getAttribute(“val”); xhttp=newXMLHttpRequest(); xhttp.onreadystatechange=函数(){ if(this.readyState==4&&this.status==200){ document.getElementById(“dashboardView”).innerHTML=this.responseText; } }; xhttp.open(“GET”、“dashboard/index.php?id=“+val,true”); xhttp.send(); }
您需要一些服务器端魔法,更改
dicument.location.search
属性重新加载您可以使用htaccess实现的页面。而此代码片段可能会解决这个问题,真正有助于提高帖子的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。
var urlStr = 'http://localhost/dashboard/index.php?id=1';
var nextURL = urlStr.replace("?", "");
alert(nextURL);