Laravel不知道我是否应该使用<;表格>;执行ajax put请求时是否标记

Laravel不知道我是否应该使用<;表格>;执行ajax put请求时是否标记,laravel,Laravel,我正在使用axios.put()向我的应用程序后端发出一个简单的put请求 这一切都很有效,我有一个绑定到vue的按钮,就像@click=“submitForm” 然而,环顾四周,我发现有些人仍然将其输入字段包装成如下形式: <form method="POST" @submit.prevent="onSubmit" action="{{ route('someRoute') }}" id="form-submit"> {{ method_field('PUT') }} {{ csr

我正在使用
axios.put()向我的应用程序后端发出一个简单的put请求
这一切都很有效,我有一个绑定到vue的按钮,就像
@click=“submitForm”

然而,环顾四周,我发现有些人仍然将其输入字段包装成如下形式:

<form method="POST" @submit.prevent="onSubmit" action="{{ route('someRoute') }}" id="form-submit">
{{ method_field('PUT') }}
{{ csrf_field() }}

{{method_字段('PUT')}
{{csrf_field()}}
即使我不使用像上面那样的表单,我在调用ajax put请求时也会得到相同的结果

默认情况下,Laravel allready在resources/assets/js/bootstrap.js中向axios添加csfr头

那么,有什么理由我仍然应该像上面那样包装我的输入吗


感谢您使用的是Ajax请求,在这种情况下,标准的“表单提交”将被阻止。在其周围放置
表单
不是必须的,特别是如果您使用
按钮
元素,它无论如何都不是一个经典的表单元素。

您的ajax请求无论您是否在表单标记中输入,都无关紧要,因为请求仍然从服务器发送和接收数据。
我会使用一个表单标记,因为每个人都可以更容易地读取标记,并且它可以用于在javascript中编写更少的代码——一个例子

<form action="" method="">
  <div class="form-group">
    <label class="control-label">Input</label>
    <input type="text" name="input" />
  </div>
</form>

$(document).ready(function() {
  $('#some-form').on('submit', function() {
    var data = $(this).serialize();
    ... do whatever you want (like ajax call) ...
    return false;
  });
);

输入
$(文档).ready(函数(){
$(“#某种形式”)。在('submit',function()上{
var data=$(this.serialize();
…想做什么就做什么(比如ajax调用)。。。
返回false;
});
);