【发布时间】:2020-06-06 13:51:18
【问题描述】:
在 laravel 中我有一个 405 错误,但奇怪的是,当我想编辑一些数据并单击更新时,它不会刷新或加载页面。当我自己刷新页面时,更新已设置!只有我得到一个错误 405 PATCH method not allowed。我在互联网上做了一些搜索,但找不到如何解决这个问题。我发现的事情就像检查您的 apache2 配置,添加 csrf 字段,制作表单操作帖子并放置 {!! method_field('patch') !!} 里面。 我已经尝试了很多东西。
有人可以帮助我解决这个问题! 非常感谢
我的项目路线:
Route::resource('project', 'ProjectViewController');
我的项目控制器
public function update(Request $request, $id)
{ DB::table('projects')
->where('id', $id)
->update($request->all()); return redirect('')->with('success', 'Project has been updated');
}
我的 Jquery Ajax:
$('.modal-footer').on('click', '.edit', function() {
$.ajax({
method: 'PATCH',
url: '{{route('project.update', $project->id)}}',
data: {
'_token': $('input[name=_token]').val(),
'id': $('#fid').val(),
'project_name': $("#pn").val(),
'date': $('#Da').val(),
'location': $('#Lo').val(),
'first_name': $('#FN').val(),
'last_name': $('#LN').val(),
'city_name': $('#CN').val(),
'email': $('#EM').val(),
'number': $('#NUM').val()
},
success: function(data){if(data.success == true){ // if true (1)
setTimeout(function(){// wait for 5 secs(2)
location.reload(); // then reload the page.(3)
}, 2000); }},
【问题讨论】:
-
而不是
method: 'PATCH',使用method: 'PUT', -
代替
method: 'PATCH',使用type: 'PATCH'或type: 'PUT'! -
感谢您的回答,这是我在网络选项卡中得到的:消息“此路由不支持 PUT 方法。支持的方法:GET、HEAD。”这也是我做 PATCH 的时候
标签: php jquery html laravel bootstrap-4