【问题标题】:Laravel 5 Can't send data from urlLaravel 5 无法从 url 发送数据
【发布时间】:2017-10-24 03:33:15
【问题描述】:

嗨,我目前正在尝试为我在 laravel 5 上的问题资源做一个基本的补充

到目前为止一切顺利,但现在我无法显示编辑视图,因为当我尝试在 url 中发送资源 id 时,没有正确创建 url

这是我正在使用的锚点

<a href="{{route('admin/questions/update',$question->id)}}"><button class="submit-form button button btn btn-primary" style="margin: 0 1em;" type="submit">Editar</button></a>

这是我的路线文件中的路线

Route::get('admin/preguntas/editar/{id}','QuestionsController@edit')->name('admin/questions/update');

当我手动输入这个网址时,控制器中的方法工作得很好

/admin/preguntas/editar/4

它显示了没有问题的视图,但是当我从锚点开始时,它的网址是这个

/admin/preguntas/editar?4

当然 4 是我资源中的 id,但为什么没有输入正确的 url?

提前致谢

【问题讨论】:

  • 为什么按钮周围有一个标签?
  • 我在这方面有点新......我可以在没有锚点的情况下直接在按钮标签上使用 href 属性吗?
  • 按钮用于提交表单,a用于超链接。您不使用超链接来提交表单。如果没有更多上下文,我不知道您在这里要做什么,但我建议您在深入了解 PHP Web 应用程序之前多阅读一下 HTML。
  • 因为type="submit" 正在提交它。猜猜那些无效的 html 标记是被表单包裹的?
  • @AnibalCardozo 分享您的其他路线。从外观上看,您可能正在使用路由名称admin/questions/update 来更新POST 路由。因此,将为更新路由生成链接。尝试将路由重命名为 admin/questions/edit 并使用它。

标签: php laravel laravel-5 crud


【解决方案1】:

您不能在按钮周围加上超链接,所以我的假设是您的问题与表单操作有关(因为按钮类型是提交),而不是 a href。

由于您使用的是引导程序,因此无需使用按钮来获取按钮的样式。

&lt;a class="btn btn-primary"&gt; 可以正常工作。

【讨论】:

  • 他的问题在于使用 laravel 的路由辅助方法生成链接
  • @Sandeesh 你不能确定,因为表单按钮周围的超链接不会像这里证明的那样起作用:jsfiddle.net/a2Lceaty/1
【解决方案2】:

您的“QuestionsController@edit”接受“id”参数? 喜欢

function edit($id){}

我认为,您使用了错误的路由链接助手

Route::get('user/{id}/profile', function ($id) {
    //
})->name('profile');

$url = route('profile', ['id' => 1]);

【讨论】:

  • 是的,正如我所说,当我手动输入 url 时,它工作得很好,我识别并使用 $id 没有问题。
  • 我正在更新我的评论,我认为您需要使用这种方式来显示您的链接路线('profile', ['id' => 1]);
  • 不,您不需要这样做。 route() 接受一个数组或标量,它不需要键,它会按顺序分配参数。
【解决方案3】:

首先编写正确的链接按钮,如Devon所说:

<a href="{{route('admin.questions.update', ['id' => $question->id])}}" class="submit-form button button btn btn-primary" style="margin: 0 1em;">Editar</a>

其次你必须编写正确的路线名称格式:

Route::get('admin/preguntas/editar/{id}','QuestionsController@edit')->name('admin.questions.update');

希望它能帮助你解决问题:)

【讨论】:

    猜你喜欢
    • 2021-12-29
    • 2017-05-31
    • 2016-01-27
    • 1970-01-01
    • 1970-01-01
    • 2020-02-26
    • 1970-01-01
    • 2016-04-09
    • 2015-10-05
    相关资源
    最近更新 更多