0

私の c# mvc4 アプリケーションには、Jquery で AJAX ポストを使用して ActionResult に渡したい 3 つのオブジェクトがあります。オブジェクトは、2 つの文字列とフォーム コレクションです。フォーム コレクションのみを渡すのに問題はありませんでしたが、3 つすべてを渡すための正しい構文を取得できないようです。これが私が試したことです:

 $(document).ready(function () {
        $('#ChangeName').click(function (e) {
            var tdata = $('#form1').serialize();
            var origname = $('#NameDiv').find('input[name="myName"]').first().val();
            var newname = $('#NameDiv').find('input[name="updatedName"]').first().val();
            $.ajax({
                type: "POST",
                data: {tdata + origname + newname},
                url: "Home/ChangeName",
                success: function (result) { success(result); }
            });
        });

data:また、括弧の有無にかかわらず、セクション内の各変数名の後にコンマを試しました。どうすれば3つすべてを通過できますか?成功すると、デバッグ時に両方の文字列値が正しく入力されますが、値は ActionResult に表示されず、代わりに null が表示されます。また、これをデータの下に配置しようとしました: contentType: "application/x-www-form-urlencoded",

これも私のActionResultの始まりです:

 public ActionResult ChangeName(string Name, string updatedName, FormCollection mCollection)
4

2 に答える 2

3

試すことができますか:

$(document).ready(function () {
        $('#ChangeName').click(function (e) {
            var tdata = $('#form1').serialize();
            var origname = $('#NameDiv').find('input[name="myName"]').first().val();
            var newname = $('#NameDiv').find('input[name="updatedName"]').first().val();
            $.ajax({
                type: "POST",
                data: {
                    mCollection: tdata,
                    Name: origname,
                    updatedName: newname
                },
                url: "Home/ChangeName",
                success: function (result) { success(result); }
            });
        });
于 2013-04-14T17:07:55.967 に答える
0

問題は、origname と newname を ajax リクエストにどのように入れるかだと思います。これを試して:

var origname = $('#NameDiv').find('input[name="myName"]').first().val();
var newname = $('#NameDiv').find('input[name="updatedName"]').first().val();
$.ajax({
     url: 'Home/ChangeName',
     type: "POST",
     data: $("#form1").serialize() + "&origname =" + origname + "&newname =" + newname, 
     success: function (result) { success(result); }
});
于 2013-04-14T06:29:40.287 に答える