【问题标题】:URL created by pushstate of History object历史对象的 pushstate 创建的 URL
【发布时间】:2013-09-02 02:07:24
【问题描述】:

我正在学习如何更改我的 URL 以显示发送到服务器的查询字符串参数

我正在从用户那里获取一些数据,对服务器进行 ajax 调用,当服务器返回数据时,我会向用户显示,所以,如果我之前的 URL 是 abc.com 。如果我使用 pushstate 将查询字符串参数附加到 URL,即使其成为 abc.com?param1=val1&param2=val2 ,

这个新 URL 是否会是从用户那里获取的这 2 个参数的实际 URL。我的意思是如果我复制此链接并将其发送给某人:abc.com?param1=val1&param2=val2

是否会打开 abc.com 以显示这两个参数的数据结果?

先谢谢enter code here

【问题讨论】:

    标签: javascript html url-rewriting pushstate history.js


    【解决方案1】:

    它不会获取abc.com?param1=val1&param2=val2 的数据,而是获取abc.com 的数据,默认情况下

    但您可以使用 JS 或服务器端编程语言来解决此问题。

    1. 如果您使用 JavaScript,您可以自己解析 document.URL,然后根据参数加载数据。 (不推荐)
    2. 否则,如果在服务器上,则直接为abc.com?param1=val1&param2=val2 提供内容

    强烈推荐第二种方法。

    【讨论】:

    • 当用户输入数据并单击 Go 时,对服务器的请求正在执行。如果我将此链接发送给某人,那么请求如何在不单击 Go 的情况下发送到服务器。如果我进行服务器端编程,并且服务器应该直接为 abc.com?param1=val1&param2=val2 提供内容,我应该如何在不点击 Go 的情况下调用 servlet,因为如果 URL 已经具有这些参数,则应该这样做。跨度>
    • 那你就得用第一种方法了。当页面完成加载时,检查是否有任何参数传递给 URL,解析它们(有几个库可以帮助你解决这个问题:例如this)并以与用户输入数据时相同的方式提供内容并单击“开始”按钮。请记住,在点击 go 和页面加载时执行此操作的唯一区别在于,在第一种方法中,您从用户那里获取数据,而在第二种方法中,您直接从 URL 获取数据。
    猜你喜欢
    • 2017-02-06
    • 1970-01-01
    • 2014-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-17
    • 2014-07-06
    相关资源
    最近更新 更多