You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel RESTful API报PUT方法不允许,Vue+PHP更新记录配置求助

解决Vue + Laravel更新数据时的405 Method Not Allowed错误

这个问题根源很清晰——前端发送的是PUT请求,但后端路由只配置了PATCH方法处理更新操作,服务器因此返回405(方法不允许)的错误。下面给你两种直接可行的修复方案:

方案一:修改前端请求方法,与后端路由匹配

把你前端fetch请求里的method: 'put'改成method: 'patch',和后端路由定义的方法保持一致:

// Update
fetch('api/article', {
  method: 'patch', // 此处修改为patch
  body: JSON.stringify(this.article),
  headers: {
    'content-type': 'application/json'
  }
})

方案二:后端路由同时支持PUT和PATCH方法

如果你不想改动前端代码,可以在Laravel的api.php里,让更新路由同时兼容PUT和PATCH两种HTTP方法:

// 替换原有的Update Article路由
Route::match(['put', 'patch'], 'article', 'ArticleController@store');

或者也可以单独新增一条PUT路由,保留原有的patch路由:

//Create New Article
Route::post('article','ArticleController@store');
//Update Article - 同时支持patch和put请求
Route::patch('article','ArticleController@store');
Route::put('article','ArticleController@store');
//Delete Article
Route::delete('article/{id}','ArticleController@destroy');

额外小提示

检查下你的控制器逻辑:更新操作时你用$request->article_id查找文章,要确保前端传递的this.article里确实包含article_id字段。如果前端传递的是id而非article_id,记得把$request->article_id改成$request->id,避免出现找不到模型的问题。

内容的提问来源于stack exchange,提问作者geometria

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 10:02:42