我从用户2参数(使用JS,html,jquery)获取一些数据,当用户在GO上点击,然后调用servlet,在get请求中传递这两个参数:
$.get("/Myservlet?param1="+myval+"®ion="+myregion,function(data){addToTables(data);hideLoading();},"text");
Servlet返回这两个参数的数据,我在浏览器中显示为表格。 但问题是,浏览器URL没有变化,假设它之前是abc.com,它显示的是2个参数的数据,它仍然是abc.com
为什么不改为abc.com?param1=myval®ion=myregion
为什么网址不显示查询字符串?
答案 0 :(得分:2)
根据您的代码,浏览器网址不会更改。一旦此代码加载到网页上,网址就会被修复(尽管您可以使用JM Perez建议的技术更改它)。
您的代码对您指定的网址执行异步GET
请求。整个页面不会重新加载,浏览器网址也不会更改。
您可能希望在此处阅读ajax。您想要的网址类型可以通过表单提交来实现。
答案 1 :(得分:1)
您正在制作一个AJAX请求,该请求不会更改URL。如果运行脚本的浏览器支持,则可以使用HTML5's History changeState手动更改它。
答案 2 :(得分:0)
你的代码真的很难阅读。对我来说,你确实误解了$ .get。 Thsi Command不会更改浏览器URL。它发送一个get请求。您可以在Firebug选项卡中看到网络。
然后你需要一个成功的函数,然后执行请求成功。
顺便说一下:GET是不安全的(或者更容易改变),请改用POST。