我正在嘗試使用帶有 ajax 的 PUT 方法更新文件。無(wú)論出于何種原因,我都無(wú)法在控制器中發(fā)送請(qǐng)求。我創(chuàng)建了一個(gè)自定義驗(yàn)證器來(lái)檢查文件是否丟失或某個(gè)輸入請(qǐng)求是否丟失。它不斷返回 422 文件丟失和名稱丟失。我想念什么?下面是我的代碼。<script> $(document).ready(function() { $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } }); $('#news_id').on('submit', function(e) { e.preventDefault(); var data = new FormData(); var newsletter_name = $('#newsletter_name').val(); var newsletter_file = $('#newsletter_file')[0].files[0]; data.append('newsletter_name', newsletter_name); data.append('newsletter_file', newsletter_file); var id = $('#hidden_id').val(); console.log(newsletter_file); $.ajax({ url: '/admin/newsletter/' + id, type: 'PUT', data: data, contentType: false, processData: false, beforeSend: function(data) { }, success: function(data) { console.log('success'); }, error: function(data) { console.log(data) }, }); }); });</script>這是我的html代碼<div class="container mt-5"> <div class="col-md-6"> <form action="" method="" enctype="multipart/form-data" id="news_id"> @method('PUT') <div class="form-group"> <label for="newsletter_name">Name</label> <input type="text" value="{{$newsletter->newsletter_name}}" name="newsletter_name" id="newsletter_name" class="form-control" placeholder="" aria-describedby="helpId"> <input type="hidden" name="hidden_id" id="hidden_id" value="{{$newsletter->newsletter_id}}"> <input type="hidden" name="_method" value="PUT"> </div> </div> </form> </div></div>
1 回答

慕蓋茨4494581
TA貢獻(xiàn)1850條經(jīng)驗(yàn) 獲得超11個(gè)贊
添加data.append('_method', 'PUT');
然后將您的請(qǐng)求類型更改為type: 'POST'
因?yàn)槟承g覽器無(wú)法發(fā)送PUT
請(qǐng)求,所以 Laravel 可以PUT
通過(guò)接收_method
數(shù)據(jù)來(lái)接收請(qǐng)求。
- 1 回答
- 0 關(guān)注
- 160 瀏覽
添加回答
舉報(bào)
0/150
提交
取消