【问题标题】:Hashtag in URL in Laravel 5Laravel 5中URL中的标签
【发布时间】:2017-04-27 01:17:14
【问题描述】:

我有一个客户搜索输入。客户有一个地址,其中一些地址包含数字符号,例如#51 Scout Fuentebella。我在搜索中包含了地址。

我的路线:

Route::get('customer/search/{input}', 'CustomerController@search');

每当我搜索他们的地址时,例如 localhost:8000/customer/search/#51 Sc,我都会收到以下错误:

RouteCollection.php 第 161 行中的 NotFoundHttpException:

【问题讨论】:

  • # 之后的所有内容(包括角色本身)都不会发送到服务器。
  • 有没有办法包含哈希?
  • 没有。哈希仅与客户端相关(用于a 锚点)。
  • 好的,也许我会检查输入中是否有哈希,然后将其删除并进行搜索。

标签: php laravel url laravel-5 laravel-routing


【解决方案1】:

井号 (#) 在 url 中具有特殊含义。它标志着fragment identifier 的开始,并且仅在客户端处理。 # 之后的任何内容都不会发送到服务器。

如果您的 url 需要在其中包含哈希,那么您需要在构建 url 之前对数据进行 urlencode。

# 编码为 %23,因此对于您的示例,localhost:8000/customer/search/%2351%20Sc 应该可以正常工作。

【讨论】:

    猜你喜欢
    • 2016-02-12
    • 2015-02-04
    • 1970-01-01
    • 2019-05-31
    • 1970-01-01
    • 2015-09-12
    • 2018-06-09
    • 2017-02-16
    • 2014-11-11
    相关资源
    最近更新 更多