0

次のように、jQuery経由でASP.NET MVCのコントローラーエンドポイントに送信したAJAX POSTからデータを取得しようとしています。

$("form#auth").submit(function() {
    var login = $('input[id=login]').val();
    var password = $('input[id=password]').val();

    $.ajax({
        url: "/Home/Auth",
        type: "POST",
        data: "Login=" + login + "&Password=" + password,
        dataType: 'json',
        contentType: 'application/json; charset=utf-8'
        success: function() {

        }
    });

私はコントローラーが彼に送信しているものを理解していることをテストしましたが、主な問題は私のjQuery関数の結果を返すことです。

次のように Controller から結果を返しています: http://ideone.com/hNkF3Z

しかし、サーバーがダウンロード用のファイルを返す理由がわかりません。

ファイルを開く場合、結果は有効です。{"Result":"failed"}

JavaScript の成功関数にコードを記述していないことはわかっていますが、サーバーはファイルのダウンロードを返してはならず、関数の最後のスコープ}で定義されたブレークポイントでデバッガーを停止する必要があると思いますsuccess

4

1 に答える 1

5

表示されているのは、デフォルトのフォーム送信です。デフォルトのブラウザー アクションを妨げないため、イベント ハンドラーが存在しないかのように、フォームは引き続き投稿されます。

JavaScript を更新して、既定のブラウザーの動作を防止します。e.preventDefault()

$("form#auth").submit(function(e) {
    e.preventDefault();
    /* rest of your code here. */
 }
于 2013-06-25T16:45:15.740 に答える