結論
$.ajax()
のurl:
の末尾のスラッシュを削除する。
-
url:'/item/favorite/'
=>url:'/item/favorite'
現象
- ajax通信でPOSTを投げているが、ブラウザconsoleに404が返ってくる
環境
- Apache
なぜか
.htaccess
の設定値に問題あり
...
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
...
Redirect Trailing Slashesの設定が入っているため、
末尾に/
があるとPOSTで通信しても301にwriteされてしまう。
雑感
ローカル環境がnginxだったがサーバー環境がapacheだったため、環境設定に差分が出てしまって原因追求が大変だった・・・。
調べても全然情報がなかった印象です。