在Laravel8.x应用程序上,PUT请求不适用于Standard Request类。
save() {
let formData = this.prepareFormInput('save');
this.saveBeforeHook();
axios.put(`/${this.model}/edit`, formData, this.axiosHeaders)
.then(r => {
if(r.data.errors) {
this.formDialog.errors = r.data.errors;
} else {
if(r.data.record) {
this.saveAfterHook(r.data.record);
}
this.$root.formDialog.show = false;
this.$root.formMode = "add";
}
}).
catch(e => {
if(e.response.data.errors) {
this.formDialog.errors = e.response.data.errors;
}
});
}我验证了PUT请求正在发送正确的参数:

但是,请求对象没有正确设置任何已发布的数据。在查看请求对象时,没有设置任何数据。
我已经将问题归结为Laravel 8.x中的一个Laravel 8.x请求。
使用具有相同信息的POST请求在Laravel 8.x中工作得很好。

但是,PUT请求没有将参数设置到请求对象中:

在Laravel 5.x应用程序中使用相同的PUT请求很好。
为什么PUT请求在Laravel 8.x**?**中不能正常运行
发布于 2021-01-01 05:23:04
我认为这将解决PUT的问题,您想要使您的表单像
<form action="/example" method="POST">
<input type="hidden" name="_method" value="PUT">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
</form>或
<form action="/example" method="POST">
@method('PUT')
@csrf
</form>欲了解更多信息:表单方法欺骗
编辑:如果您正在使用ajax,则使用method作为"POST“,并将_method值传递为"PUT”。欲了解更多信息:& DELETE
https://stackoverflow.com/questions/65527012
复制相似问题