在使用 axios/AJAX 測試 API 時,如果遇到回傳的不是設定好的 data 而是把整包 html 都回傳的話,可以檢查一下以下幾點。

是否有設定好 route

因為我是寫 PHP 的,所以 Laravel 是這樣CodeIgniter 則是這樣

 

是否有使用 CSRF

如果有用到 CSRF 保護資料的傳遞,在透過 AJAX/axios 帶資料時,一定要帶 csrf token,沒有帶的話就會發生以上的錯誤。

以上是我遇過的狀況,如果還有別的原因也歡迎留言跟我討論。