我正在 Laravel 控制器上進行簡單的驗證:public function updateInfo(Request $request) { $validator = $request->validate([ "name" => ["string", "nullable"], "email" => ["email", "nullable"], "currentPassword" => ["password:api"] ]); return json_encode($validator);}我的問題是,如果失敗,此驗證會將我重定向到主頁,并且我正在通過 AJAX 發(fā)出請求,我知道 Laravel 會檢測到何時通過 Ajax 發(fā)出請求,但它僅在正常請求時才有效(典型請求在我發(fā)送了標頭,Content Type application/json并在正文中發(fā)送了一個普通的 JSON但是 Laravel 無法檢測 Ajax 請求何時不是Content Type application/json,我使用的FormData()是 JavaScript 對象,所以,我不發(fā)送 header Content Type application/json,并在正文中發(fā)送 FormData 對象。我認為它模擬了重新加載頁面的典型 HTTP 請求,因此 Laravel 無法檢測到它,但它給我的 ajax 響應帶來了麻煩,因為 Laravel 響應了重定向,并且在我的 Ajax 響應中我捕獲了 HTML 代碼主頁的。我能做些什么?
1 回答

素胚勾勒不出你
TA貢獻1827條經驗 獲得超9個贊
您可以將validator()輔助函數(shù)與validate()方法一起使用,它將幫助您進行 AJAX 調用和普通調用
validator($request->all(), [
"name" => ["string", "nullable"],
"email" => ["email", "nullable"],
"currentPassword" => ["password:api"]
])->validate();
- 1 回答
- 0 關注
- 126 瀏覽
添加回答
舉報
0/150
提交
取消