如果我在执行ajax put请求时应该使用<form>标签,Laravel会感到困惑

时间:2017-05-31 10:08:18

标签: laravel

我正在使用axios.put();向我的应用后端发出一个简单的放置请求 这一切都有效,我有一个绑定到像@click="submitForm"

一样的按钮

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

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

即使我不使用上面的表格,我也会在调用我的ajax put请求时得到相同的结果。

Laravel allready默认在 resources / assets / js / bootstrap.js

中向axios添加csfr标头

那么有什么理由我仍然应该以上面的形式包装我的输入?

由于

2 个答案:

答案 0 :(得分:0)

您正在使用Ajax请求,在这种情况下,将阻止标准的“表单提交”。在form周围添加button不是强制性的,特别是如果你使用的是`runtime 'mysql:mysql-connector-java:5.1.37'` 元素,它不是一个经典的表单元素。

答案 1 :(得分:0)

如果您在表单标签中输入输入,那么您的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;
  });
);