我正在使用 axios.put();
向我的应用程序后端提出一个简单的put请求这一切都起作用,我有一个按钮,可以像@click="submitForm"
但是,环顾四周,我看到有些人仍然以类似的形式包裹他们的输入字段:
<form method="POST" @submit.prevent="onSubmit" action="{{ route('someRoute') }}" id="form-submit">
{{ method_field('PUT') }}
{{ csrf_field() }}
即使我不使用上面的表格,我在调用我的ajax put请求时也会得到相同的结果。
laravel Allready将CSFR标头添加到Axios默认为>> resources/Assets/js/bootstrap.js
所以有什么原因我仍然应该以上面的形式包裹我的输入?
谢谢
您的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;
});
);
您正在使用AJAX请求,在这种情况下,标准"表单提交"将被阻止。将form
围绕在其上不是强制性的,尤其是如果您使用button
元素,这不是经典的表单元素。