1

我从用户 2 参数(使用 JS、html、jquery)中获取一些数据,当用户在 GO 上单击时,然后调用 servlet,在获取请求中传递这两个参数:

$.get("/Myservlet?param1="+myval+"&region="+myregion,function(data){addToTables(data);hideLoading();},"text");

Servlet 正在返回这两个参数的数据,我将其显示为浏览器中的表格。但问题是,浏览器 URL 没有改变,假设它之前是 abc.com,它显示 2 个参数的数据它仍然是 abc.com

为什么不更改为 abc.com?param1=myval®ion=myregion

为什么 URL 不显示查询字符串?

4

3 回答 3

2

根据您的代码,浏览器 url 不会改变。加载此代码的网页后,该 url 就被固定(尽管您可以使用 JM Perez 建议的技术来更改它)。

您的代码对您指定的 url 执行异步GET请求。整个页面不会重新加载,浏览器 url 不会改变。

您可能想在此处阅读有关ajax的信息。您想要的 url 类型可以通过表单提交来实现。

于 2013-08-31T12:35:41.403 回答
1

您正在发出 AJAX 请求,该请求不会更改 URL。如果您运行脚本的浏览器支持它,您可以使用 HTML5 的 History changeState手动更改它。

于 2013-08-31T12:32:59.510 回答
0

你的代码真的很难读。在我看来,您确实误解了 $.get。Thsi 命令不会更改浏览器 url。它发送一个获取请求。您可以在 Firebug 选项卡中看到 Network。

然后你需要一个成功函数,然后请求成功。

顺便说一句:GET 是不安全的(或者至少更容易更改),请改用 POST。

于 2013-08-31T12:30:42.637 回答