XMLHttpRequest.open()之后不会出现URL中的AJAX变量

时间:2013-02-20 07:26:50

标签: java javascript ajax jsp url

我在Java EE中创建一个应用程序,并希望使用Ajax来更新某些东西。只有参数没有出现在URL中。

好的网址: ?本地主机:8080 /博客/ AddComment commenttext =示例&安培;帖子ID = 3

这是浏览器栏中显示的URL: 本地主机:8080 /博客/ AddComment

使用Javascript:

function doAddComment() {
    var url = "AddComment?commenttext="+newcommentcontent.value+"&postid="+postid.value;
    var req = getXHR();
    req.onreadystatechange = function()  
    { processRequestChange(req); 
      req.open("GET", url, true);
      req.send(null);
    }
}

我做错了什么?

2 个答案:

答案 0 :(得分:2)

您正在使用Ajax发出请求,而不是将浏览器发送到新页面。浏览器栏显示当前页面的URL,而不是请求的最后一个HTTP资源的URL。

如果您想操纵地址栏以获得历史记录,可以使用the history API,以便在通过Ajax获取数据时可以返回。

答案 1 :(得分:1)

我必须将GET更改为POST。

function doAddComment() {
    var url = "AddComment?commenttext="+newcommentcontent.value+"&postid="+postid.value;
    var req = getXHR();
    req.onreadystatechange = function()  
    { processRequestChange(req); 
      req.open("POST", url, true);
      req.send(null);
    }
}

现在它有效。