【问题标题】:URL not showing request parametersURL 不显示请求参数
【发布时间】:2013-09-04 01:55:48
【问题描述】:

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

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

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

为什么不改成 abc.com?param1=myval&region=myregion

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

【问题讨论】:

    标签: javascript html jquery web.xml web-development-server


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-11-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多