1

私は ASP.NET Web フォーム アプリを作成しており、AJAX 呼び出しに jQuery を使用しています。これはうまく機能していますが、場合によっては、$.getJSON 呼び出しによってページ全体がポストバックされることがあります。アプリのどこにも ASP.NET AJAX ライブラリを使用していません。一貫して問題を再現できず、何が原因なのかわかりません。これが私が使用しているjQueryコードです。誰かが前にこれに出くわしましたか? 以前の AJAX 呼び出しが完了していない可能性があり、リクエストが重複している可能性はありますか?

function getActionMismatch(id) {
    setPageElementVisibility();
    $(".ActionDetailArea").slideUp("fast");
    $("#AjaxLoader_Action").show();

    $.getJSON("Main.aspx?Callback=GetMismatch",
    { MismatchId: id },
    function(result) {
        $("#adMismatchId").text(result.MismatchId);
        $("#adAuthMerchId").text(result.AuthorizationMerchantId);
        $("#adSttlMerchId").text(result.SettlementMerchantId);
        $("#adCreateDate").text(formatJSONDate(Date(result.AppendDts)));

        $(".ActionDetailArea").slideDown('fast', toggleBlock('...click Adjust Promo to enter details', true));
        $("#AjaxLoader_Action").hide();
    }
    );
    return false;
}
4

2 に答える 2

2

その JavaScript 関数をどのようにトリガーしていますか?

Button などのコントロールのクライアント側クリック ハンドラーの場合は、必ず preventDefault() を呼び出す必要があります。そうしないと、AJAX コールバックが進行中であっても、ブラウザーはフォームを送信し、ポストバックを引き起こします。

于 2008-10-24T18:18:44.283 に答える
0

jQueryがAJAX呼び出しを実行できない状況では、非表示のiframeが作成され、そこから通常の送信が行われます。そのプロセスがどのように崩壊しているのかを推測しています。

于 2008-10-23T20:04:57.687 に答える