【问题标题】:Passing multiple parameters with laravel routes but keep the url "clean" (without showing them)使用 laravel 路由传递多个参数,但保持 url“干净”(不显示它们)
【发布时间】:2019-02-05 17:33:40
【问题描述】:

我正在使用 php 框架 Laravel 开发一个应用程序。

我遇到了一个问题,因为我需要打开一个带有两个参数的修改表单。我像这样在我的网址中传递它们:

<tr class="beBlack" onclick="document.location = '/showGriefs/{{$data->No_Grief}}/{{$data->No_Employe}}'">

(我知道在表格中创建链接是粗略的,但我需要根据单击/选择的行来更改 url)

我通过以下途径收到它们:

Route::any('/showGriefs/{No_Grief}/{No_Employe}', 'GriefController@showGrief')->name('showGriefs');

我的问题是我不想更改我的 url,因为这些 url 更改后,我的应用程序无法找到文件(CSS、JS 和插件)。由于 laravel 使用公共目录来存储所有这些文件,它正在破坏我的页面。我得到的唯一错误是一些丢失的文件错误。

我在网上搜索了很多,但没有找到任何东西,希望大家能够帮助我。谢谢。

【问题讨论】:

  • “但我需要更改网址” 后跟 “我不想更改我的网址” 非常矛盾...不知道你在这里问什么。
  • 可能你需要修复你的应用程序如何找到 CSS、JS 和插件
  • 我的意思是我希望我的网址更改为 /showGriefs 而不是 /showGriefs/param1/param2 @TimLewis
  • 我正在使用“母版页”,所以我在布局中找到我的文件,因此其中的内容可以使用这些文件@FelippeDuarte
  • 要从 URL 中获取参数,您需要导航到 /route/{param}/{param2},所以这是不可能的。考虑使用 GET 请求和 queryString (/route?param=...) 或 POST 请求。

标签: php laravel laravel-5 parameters routes


【解决方案1】:

我知道 2 个解决方案可以解决您的问题。无需更改路由 URL。只需修复资产问题。

1。在资产 url 前使用 /

如果您在 url 前使用/,浏览器将尝试查看根目录上的资源。

例如:如果您需要http://example.com/assets/img.png,则使用/assets/img.png。更改 URL 不会影响以 / 字符开头的资产 URL。

2。对资产 URL 使用 url 助手

asset('assets/img.png') 将资产 url 从 assets/img.png 更改为 http://example.com/assets/img.png

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-28
    • 1970-01-01
    • 2014-06-08
    • 2018-11-29
    • 2017-04-05
    • 2020-01-23
    • 1970-01-01
    相关资源
    最近更新 更多