AJAX リクエストで POST を使用する場合と GET を使用する場合の性質について、同様の質問が寄せられています。
ここ: POST リクエストよりも GET リクエストを使用する利点は何ですか?
そしてここ: GET vs. POST ajax requests: いつ、どのように使用するのですか?
しかし、私が求めているのはそれではないことをはっきりさせておきたいと思います。冪等性、機密データ、エラーが発生した場合にブラウザーが再試行できる機能、およびブラウザーがクエリ文字列データをキャッシュできる機能を取得します。
私の実際のシナリオは、ユーザーが「Compute.cshtml」ファイル (つまり、jQuery$.ajax
関数が投稿するサーバー上のファイル) への URL を単純に入力できないようにすることです。
私は WebMatrix C#.net Web ページ環境にいて、ファイル名の前にアンダースコア ( _
) を付けようとしましたが、明らかに AJAX 要求は、このアンダースコアが表示を防ぐように設計されたのと同じ基準に該当し、もちろん、要求を破ります。
したがって、POST を使用すると、次のロジックを簡単に使用できます。
if (!IsPost) //if this is not a post...
{
Response.Redirect("~/") //...redirect back to home page.
}
GET を使用する場合、値を含む文字列のような追加データを送信"AccessGranted"
し、反対側でそれをチェックして、この値と等しいかどうかを確認し、そうでない場合はリダイレクトできると思いますが、これはアドレスバーに入力することで簡単に複製できます (データが反対側で機密であるというわけではありませんが...)。
とにかく、このロジックを処理するために常に POST を使用してもよいか、または WebMatrix C#.net Web ページ環境で AJAX で GET または POST を使用することに関して、私の状況を処理する適切な方法は何かを尋ねていると思います。