質問

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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top