ASP.Net MVC AJAX リンクが機能しない
-
06-09-2019 - |
質問
AJAX ログオンを実装するために、私のページに次のリンクがあります。
<%= Ajax.ActionLink("Log On", "LogOn", "Account", new AjaxOptions {
UpdateTargetId = "lll",
Confirm = "blah"}) %>
近くにID lllのdivがあります。リンクをクリックすると、まあまあの確認メッセージが表示されますが (デバッグ目的で追加されただけで、それがない場合の動作は同じです)、その後は何も起こりません。リクエストがサーバーに到達することはありません (LogOn アクション メソッドにブレークポイントがあるため)。それは Chrome と IE8 です。FF3 ではログオン ビューが開きますが、ページとしては AJAX 経由でダウンロードされません。
何が間違っているのか何か考えはありますか?
解決
問題は、AjaxのアクションリンクはデフォルトでPOSTリクエストを行い、それが他のログオン方法(POSTを受け入れる1)に向けていたと私はまた、ブレークポイントにヒットしなかった理由それはだということ、それが失敗しました必要なPOSTデータが送信されていませんでした。それを修正アクションリンクにHTTPMETHODを追加します:
<%= Ajax.ActionLink("Log On", "LogOn", "Account", new AjaxOptions {
UpdateTargetId = "lll",
Confirm = "blah",
HttpMethod = "Get"}) %>
他のヒント
火災にないAJAX要求を処理するために挿入されたJavaScriptを引き起こしてページ上のいくつかのjavascriptエラーがあるようですね。あなたのJavascriptのすべてが正しく読み込まかどうかを確認するために、ページの読み込みに放火魔でそれを見たことがありますか?また、使用しているMVCのバージョンと一致するJavaScriptライブラリのMicrosoftのあなたのバージョンはありますか?私は手動で私のプロジェクトでのJavaScriptライブラリのMicrosoftの私のバージョンを更新していたバージョンの進行に少なくとも一度覚えています。プロジェクトはMVCの複数のバージョンまで存在していた場合、私は新しいライブラリを追跡する(新しいプロジェクトを作成し、古いものや、インストールディレクトリ内のプロジェクトアーカイブを開いて、手でそれらを抽出するためにそれらをコピー)し、それらをインストールすることをお勧めしたいですます。
head セクションに ajax クライアント スクリプトを含めましたか?
- MicrosoftMvcAjax.js
- MicrosoftAjax.js