【问题标题】:find out the previous URL and the value after hash # in Laravel在 Laravel 中找出之前的 URL 和哈希 # 之后的值
【发布时间】:2016-08-24 12:33:07
【问题描述】:

我正在开发一个 Laravel 应用程序。我正在寻找一种方法来确定用户来自哪个页面以将该值保存在会话中并稍后重定向到它。到目前为止,我发现您可以使用URL::previous()Redirect::back()->getTargetUrl() 等方法来获取以前的URL。但是,问题是这些方法没有抓取 URL 哈希后的值。因此,如果用户来自这样的 URL:

http://example.com/#/application/some/route

上述方法的输出是:

http://example.com

如何获取完整的 URL,包括哈希后的值?

【问题讨论】:

    标签: php laravel url laravel-5.1


    【解决方案1】:

    如何获取完整的 URL,包括哈希后的值?

    这在服务器端是不可能的——因为 URL 的哈希部分仅在客户端重要,甚至不会发送到服务器。

    因此,如果您想要该信息,则必须在用户位于该页面时通过 JavaScript 获取它。

    【讨论】:

    • 我明白了。是否可以使用 javascript 将数据写入会话/缓存以使其在服务器端可用?具体来说,我试图使用 Laravel 的Session::put('key','value') 来存储一个值并使用Session::pull('key') 检索它。我想没有办法从客户端存储这样的值?
    • 您将向服务器发出请求 (AJAX),以便服务器可以将其存储到会话中。
    【解决方案2】:

    URL 的hash 部分仅用于客户端。它永远不会出现在服务器日志、请求中或作为REFERRER 字符串的一部分。并且不会发送到服务器。

    你必须使用 javascript。

    【讨论】:

      猜你喜欢
      • 2015-04-29
      • 2015-04-07
      • 2013-03-07
      • 2018-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-28
      相关资源
      最近更新 更多