Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 地址栏上没有Url_Javascript_Ajax - Fatal编程技术网

Javascript 地址栏上没有Url

Javascript 地址栏上没有Url,javascript,ajax,Javascript,Ajax,我正在使用下面的ajax代码 // JavaScript Document function createTeam() { var name=document.getElementById("name").value; if(name==null || name==""){ var div3 = document.getElementById("errorMessage"); var text = "Enter Team"; div

我正在使用下面的ajax代码

// JavaScript Document
function createTeam() {
    var name=document.getElementById("name").value;
    if(name==null || name==""){
        var div3 = document.getElementById("errorMessage");
        var text = "Enter Team";
        div3.style.display = "block";
        div3.style.color = "red";
        div3.style.fontSize = "65%";
        div3.innerHTML = text;
    }else{
        xmlhttp=new XMLHttpRequest();
        xmlhttp.open("POST","/TeamServlet?name="+name+"&task=create",true);
        xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
        xmlhttp.send();
        xmlhttp.onreadystatechange= readResponse;
    }
    function readResponse(){
        if (xmlhttp.readyState == 4)
        {
            response = xmlhttp.responseText;
            $('#button').hide("slow");
            if(response == "false"){
                var div2 = document.getElementById("errorMessage");
                var text = "Unable to create team.";
                div2.style.display = "block";
                div2.style.color = "red";
                div2.style.fontSize = "65%";
                div2.innerHTML = text;
            }
            if(response == "true"){
                var div = document.getElementById("errorMessage");
                var text1 = "Team created.";
                div.style.display = "block";
                div.style.color = "red";
                div.style.fontSize = "65%";
                div.innerHTML = text1;
            }
        }
    }
}
但是,当我使用这个ajax时,URL不会出现在浏览器的地址栏上。我如何才能做到这一点?唯一的url是在我提交我的登录表单之后,就是这样
但在此之后,即使我导航到其他JSP/servlets,这些url都不会出现。如何修复此ajax代码?

为什么要在地址栏中显示ajax请求的url?如果您想在不离开当前页面的情况下调用服务器,则需要执行Ajax请求。如果要更改地址栏中的url,则必须将用户重定向到所述url,而不需要Ajax。

这是Ajax的基本用途:在“后台”执行异步请求。使用AJAX完成的所有请求都不会触发浏览器的加载图标,也不会更改当前URL

如果你想做这样的事情,你应该看看
HTML5历史API
。因为这是一个巨大的主题,我不能给你一个“一”的答案,但我给你一些资源让你进入:

  • 解释与演示
  • 解释与演示
  • 解释与演示
  • 解释与演示
  • 演示
您会发现,并非所有浏览器都支持此API,因此需要使用polyfill使代码跨浏览器兼容。以下是您可以使用的跨浏览器多边形填充列表:

  • History.js
  • PJAX(pushState+ajax=PJAX)
  • HashChangejQuery事件
  • HistoryManager Mootools插件
  • SWFAddress&jQuery地址
  • jQuery历史插件
  • jQuery Ajaxy
  • 哈舍
  • 史托里

此列表由Modernizer团队维护,最新版本可在

上获得,我想应xmlHttp请求,它会来。Ajax URL不会显示在浏览器地址栏中。有什么方法可以实现这一点吗?您可以触发哈希更改,但如果更改完整地址,页面将重新加载。话虽如此,这可能会有所帮助:如果jquery有可能的话,我已经准备好使用jquery了?如果有人能告诉我怎么做?我想显示URl,因为在我的J2EE应用程序中,有一个要求,如果我从一个选项卡复制URl并粘贴到另一个选项卡,那么它应该打开相同的页面(应该显示相同的状态)使用
HTML5历史API
,我们都可以进行AJAX请求&同时更改URL,查看我的答案以获得关于该主题的更多信息