在Laravel I GOT AN ERROR此路由不支持POST方法.支持的方法:GET、HEAD



当客户想要上传图像或徽标时,我试图通过span元素将此图像显示在他面前,以确保他将正确的图像上传到系统,但当我按下上传按钮时,我得到了该路线不支持的POST方法。支持的方法:GET、HEAD。错误

这是我在card_view_blade中的代码

<div class="form-group row">
<div class="col-md-8">
<form method="post" id="upload-image-form" enctype="multipart/form-data">
@csrf
<div class="input-group"  data-type="image">
<input type="file" name="file" class="form-control" id="image-input">

<button type="submit" class="btn btn-success">Upload</button>
</div>
</form>
</div>

<div class="col-md-4"> 
<div class="alert" id="message" style="display: none"></div>
<span id="uploaded_image"></span>
</div>
</div>

这是js代码

@section('script')
<script type="text/javascript">
$(function(){
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$('#upload-image-form').submit(function(e) {
e.preventDefault();
let formData = new FormData(this);
$('#message').hide().html('');
$.ajax({
type:'POST',
url: `/upload-images`,
data: formData,
dataType:'JSON',
contentType: false,
cache: false,
processData: false,
success: (data) => {
console.log("success-",data);
if (data) {
this.reset();
$('#message').show().html(data.message);
$('#message').addClass(data.class_name);
$('#uploaded_image').html(data.uploaded_image);
}
setTimeout(function(){
$('#message').hide().html('');
}, 3000);
},
error: function(data){
console.log("error-",data);
// $('#image-input-error').text(data.responseJSON.errors.file);
$('#message').show().html('Something went wrong');
$('#message').addClass('danger');
$('#uploaded_image').html('');
setTimeout(function(){
$('#message').hide().html('');
}, 3000);
}
});
});
})
</script>
@endsection

路线代码

Route::post('/upload-images', 'CheckoutController@storeImage' )->name('images.store');

代码似乎没有什么问题——也许是缓存了路由。试着先清除它们,看看问题是否通过以下命令得到解决:

php artisan route:clear

相关内容

最新更新