前提・実現したいこと
APS.NETを用いて、MVCの開発をしています。
分け合って、Formを使わず、Ajaxを用いてPOST通信するシステムを開発しています。
普段は違う言語がメインで開発しているので、C#は素人同然なので、行いたいプロセスを下記に書いていきますので、くみ取っていただけると幸いです。
Formを使用した場合の通信
- ユーザーがボタンを押す
- POST通信が開始され、サーバーからの指示を待つ
- 指示をもとにリダイレクトする
これが通常の処理だと思うのですが、今回はこの流れをAjaxで行いたいです。
もう少し、細かくフローを記述します。
- ユーザーがEnterを押す
- JSでEnterが押されたのを検出
- 検出したら、指定のURLへAjaxでPOST
- バリデーションをサーバーでチェック
- バリデーションが合っていれば、指定のアドレスへリダイレクト
- バリデーションが間違っていれば、元のページを戻す
※ この際、バリデーションはクライアントでチェックするのがめんどくさいので、行いたくありません。
こんな感じの処理を行いたいです。
推察
多分、行いたいことは出来ないと思われます
一番、最善な方法としては、サーバーからのレスポンスにリダイレクト先のアドレスを含ませ、JavaScriptでページ遷移を行うのが一番妥当だと思ってます
なぜこんなことを行いたいかというと、JSで処理すると、値の検査などをブラウザ側で行い、サーバー側でも同じことをしているので、Formを使った時のように、値をサーバー側だけでチェックして処理するようなシステムを構築したいです。
ご教示よろしくお願いいたします。
環境
- VisualStudio 2019
- APS.NET MVC v3.1.6
回答1件
あなたの回答
tips
プレビュー