【问题标题】:Redirecting route in Laravel在 Laravel 中重定向路线
【发布时间】:2014-04-02 11:26:49
【问题描述】:

我在重定向路由时遇到了 Laravel 的问题;我在做的是这样的:

您可以看到,当更改选择选项时,我正在尝试为按钮做一个 href值。我想使用以下方法将其重定向到显示控制器:

var deptHref = "{{{action('AdminDocumentsController@show')}}}";
var actionDeptHref = deptHref + '/' + id;

但是当我尝试运行它时,它会在我的浏览器上给我这个 URL:

我想知道“%7Badmin_documents%7D”是从哪里来的,因为我希望得到“admin-documents/show/8”?

我在路线上所做的是:

这就是为什么我期望浏览器中的 URL 是“admin-documents/show/8”。

我还检查了我的php artisan 路线,看看我有什么:

所以我有两个“admin-documents.show”这会影响我的路线吗?如果这会影响它,为什么:

  var href = "{{{action('AdminDocumentsController@create')}}}";
  var id = $('#department-options').val();
  href = href + "/" + id;

工作了吗?

【问题讨论】:

    标签: php laravel-4 laravel-routing


    【解决方案1】:

    使用 3 个花括号让 Laravel 转义你的 HTML,只使用 2 个:

    var href = "{{action('AdminDocumentsController@create')}}";
    

    【讨论】:

      【解决方案2】:

      您的路线需要 {id},您通常会使用帮助程序 (http://laravel.com/docs/helpers#urls) 提供参数,但是在您的情况下,您不能提供它,因为它是动态的,所以一种方法是使用绝对网址。所以

      var href = "{{{action('AdminDocumentsController@show')}}}";
      var id = $('#department-options').val();
      href = href + "/" + id;
      

      会变成

      var href = "/admin-documents/show/" + $('#department-options').val();
      

      【讨论】:

      • 但是创建工作正常,不知道为什么它没有显示。因为它与创建效果很好,这就是我尝试再次这样做的原因。你能告诉我为什么吗? tnx 回复
      • 等一下,我的阅读还不够好,created 不需要 id,show route 需要。我将编辑我的答案以避免混淆。
      猜你喜欢
      • 1970-01-01
      • 2021-12-17
      • 1970-01-01
      • 1970-01-01
      • 2015-09-20
      • 2023-04-02
      • 2016-11-08
      • 2017-04-12
      • 2021-07-22
      相关资源
      最近更新 更多