【问题标题】:URL gets added twice in Laravel 8URL 在 Laravel 8 中被添加了两次
【发布时间】:2020-12-28 23:47:14
【问题描述】:

当我第二次按下导航按钮时,出于某种原因 浏览器中的 URL 重复了两次。澄清一下,第一次按钮点击将用户发送到正确的 URL,第二次点击由于 URL 重复而失败。

观察:

  1. 我怀疑这可能是由于相对路径,因此当按两次系统按钮时,它应该再次添加相对路径。

  2. 我正在使用@extends,并怀疑系统尝试加载@extends 两次。


第一次按下按钮(可见 URL):

http://localhost:8000/sites/tax-declarations/add-data

再次按下同一个按钮(可见 URL):

http://localhost:8000/sites/tax-declarations/sites/tax-declarations/add-data

路线

Route::view('/sites/tax-declarations/add-data', 'pages/sites/tax_declarations/add_data');

导航刀片

<div class="navigation">
    <ul>
        <li><a href="sites/tax-declarations/add-data">Add data</a></li>
    </ul>
</div>

【问题讨论】:

  • 为什么用 Laravel 7 标记这个?
  • 因为 Laravel 8 于 2 天前问世,即使我在当前环境 (Laravel 8) 中看到了这个问题,我记得在 Laravel 7 中也看到过同样的问题。我删除了 Laravel 7 标签以避免混乱。
  • 您使用的是相对 URL,这就是它们的工作方式(它将您拥有的内容添加到当前目录/段)...或者在开头添加 / 以使其相对于站点的根目录或使用 URL 助手生成绝对 URL ...这与 Laravel 无关
  • @lagbox 我保持路由文件不变,但在导航文件 href 路径中添加了初始的 /。请将您的解释转为答案,我会继续批准。
  • 如你所愿:-)

标签: laravel routes nested-routes laravel-8


【解决方案1】:

使用相对 URL 时,“href”中的路径将附加到您所在的当前目录/段。您可以将/ 添加到相对路径的开头,以使该路径现在相对于站点的根目录。

更好的选择可能是使用其中一个 URL 助手为您生成绝对 URL:

<a href="{{ url('sites/tax-declarations/add-data') }}">...</a>

Laravel 8.x Docs - URL Generation - Generating Basic URLsurl

【讨论】:

    猜你喜欢
    • 2015-11-22
    • 1970-01-01
    • 1970-01-01
    • 2018-06-07
    • 1970-01-01
    • 1970-01-01
    • 2021-02-14
    • 2012-05-30
    • 2020-05-03
    相关资源
    最近更新 更多