jQuery を使用して POST データをコントローラーに送信するビューがありますが、失敗して次のエラーが発生します。
The request has been black-holed
The requested address'/settings/submit_bank_info' was not found on this server.
私がそれを機能させる唯一の方法は、そのコントローラーのセキュリティをまとめて削除することです。
問題のコントローラーの前フィルターは次のとおりです
public function beforeFilter() {
parent::beforeFilter();
$this->Auth->allow('help','submit_bank_info');
$this->Auth->authorize = 'Controller';
}
Cakeのドキュメントでこれを見た場合
セキュリティ コンポーネントを使用する場合、FormHelper を使用してフォームを作成する必要があります。さらに、フィールドの「名前」属性をオーバーライドしてはなりません。セキュリティ コンポーネントは、FormHelper によって作成および管理される特定のインジケーター (特に create() および end() で作成されるインジケーター) を探します。POST リクエストで送信されたフィールドを動的に変更すると (たとえば、無効化、削除、または JavaScript による新しいフィールドの作成)、リクエストのブラックホールがトリガーされる可能性があります。$validatePost または $disabledFields 構成パラメーターを参照してください。
バージョン 2.3.8 を使用しています。他のアクションのセキュリティ コンポーネントを保持できるように、そのアクションを無効にする方法はありますか?