Laravel Yajra Datatable表单提交报405 Method Not Allowed错误如何解决?
错误原因
你的路由配置为POST类型,但提交请求的AJAX代码没有显式指定请求方法,jQuery的$.ajax默认发送GET请求,和路由规则不匹配,就会返回405 Method Not Allowed错误。
修复方案
修改提交部分的AJAX代码,增加type: 'POST'指定请求方法即可,修改后的代码如下:
// start submit add claim detail $('#submit_addclaimdetail').click(function() { var data = table_addclaimdetail.$('input').serialize(); // Submit form data via Ajax $.ajax({ url: '/claim/addClaimDetail/{{ $claim->cno }}', type: 'POST', // 新增这行指定POST请求 data: data, success: function(data) { console.log('Server response', data); }, // 可选:增加错误回调方便调试 error: function(err) { console.error('提交失败', err); } }); });
额外注意事项
- 你当前用的是
type="button"的按钮,不会触发表单默认提交行为,不需要额外加阻止默认事件的逻辑;如果后续换成type="submit"的按钮,需要在click回调第一行加e.preventDefault()避免表单默认GET提交。 - 表单里的
@method('POST')可以删除,只有PUT/DELETE等非标准HTTP请求才需要用@method伪造请求方法,原生POST请求不需要该字段。
内容的提问来源于stack exchange,提问作者Fathul Muiin
相关产品推荐
相关产品推荐

