0

そのため、フォームと、フォームをアクションに投稿する送信ボタンがあります。しかし、ユーザーが契約を拒否または受け入れることができるポップアップを表示したかったのです。

これが私のjqueryです

$(document).ready((function () {
            var dialog = $('#confirmation-dialog').dialog({
                autoOpen: false, width: 500, height: 600, resizable: false, modal: true,
                buttons: {
                    "Accept": function () {
                        $(this).dialog('close');
                        $.ajax({
                            type: 'POST',
                            data: {__RequestVerificationToken: $("input[name=__RequestVerificationToken]").val()}
                        });
                    },
                    "Cancel": function () {
                        $(this).dialog('close');
                    }
                }
            });
            $('#registration-submit').click(function (e) {
                var action = $(this.form);
                console.log(action);
                var form = $('form');
                dialog.dialog("open");
                return false;
            });
        }));

これに関する私の問題は、投稿することですが、フォームの値ではなく、AntiforgeryTokenのみを送信します。ただし、TryupdateModelを通過すると、何らかの理由で通過しますが、保存されません(フォームコレクションに渡されなかった欠落データの原因)。

4

1 に答える 1

1

フォームのデータを送信していません... __RequestVerificationToken:ajaxリクエストを送信しているだけです。

多分試してみてください:

$(this).dialog('close');
var dataObj = $('form').serialize(); 
dataObj.__RequestVerificationToken = $("input[name=__RequestVerificationToken]").val();
$.ajax({
    type: 'POST',
    data: dataObj
});

このようにして、フォーム入力の値をデータに追加してから、トークンを追加します。

于 2012-09-06T15:36:24.837 に答える