【ajax】本番環境で謎の403エラー
環境
- Laravel 8系
- PHP 7.4
- appache
実装したいこと
ajaxを使用して非同期でPATCH処理を行いたい。
本題
$.ajax({
type: 'PATCH',
url: '/hoge_update',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
data: {
id: id,
item: item,
},
dataType: 'json',
}).done(function (data) {
こんな感じで非同期でPATCH処理を実装しようと思ったら、本番環境で 403 Forbidden
エラーが。
調べてみるとどうやらapache側で許可されているのが GET
POST
のみみたい(詳細はこちら)
ただssh接続の許可がなかったり本番環境に入れない場合、confファイルを直接編集できないので、
$.ajax({
type: 'POST', //POSTに変更
url: '/hoge_update',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
data: {
_method: 'PATCH', //PATCHを追加
id: id,
item: item,
},
dataType: 'json',
}).done(function (data) {
だいぶ無理やりですがこれでしっかり200ステータスを返してくれました。
参考
Author And Source
この問題について(【ajax】本番環境で謎の403エラー), 我々は、より多くの情報をここで見つけました https://qiita.com/hot-and-cool/items/e5f7a7ba370444de75f0著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .