Laravel形成HTML表单和令牌的最佳方式



嗨,我正在与Laravel合作,我有一个关于的问题。以前,当我们想要提交数据时,我们经常写下面这样的东西。

<form action="insert.php" method="POST"> </form>

现在,我在Youtube视频和stackoverflow中看到了许多我们使用以下代码的片段:

<form action="{{URL::to('/insert')}}" method="POST">

我想知道有什么不同?第二种方式/insert指向的是文件还是控制器?第一个是错的?或者这只是一种另类的旧时尚方式?

我还看到了两种插入令牌的方法。哪个是最好的?有什么区别?两者的工作原理相同?如果我不插入令牌,会发生什么?

{{csrf_field()}}
@csrf

感谢您抽出时间!

好吧,当你这样做时:

<form action="insert.php" method="POST"> </form>

您正在做的是明确地告诉html标记发布数据的相对路径,在您的情况下是index.php

比方说,你在你的应用程序中的这个网址上:http://myapp.com/some-page然后你点击提交按钮,它会把数据发布到这个相对的url:http://myapp.com/some-page/index.php

现在,我们使用URL助手facade的原因是使URL相对于应用程序的URL。

例如,如果您在应用程序配置(或.env(中定义APP_URL等于http://myapp.com,那么当您使用以下内容时:URL::to('/insert'),它将输出以下url:http://myapp.com/insert,而不管您在哪个url上。

希望这是有道理的。对此:

{{csrf_field()}}
@csrf

我相信他们也做到了,他们生成了一个隐藏的输入字段,其中包含您当前的csrf令牌。

相关内容

  • 没有找到相关文章

最新更新