0

既存の文字列配列を既存の html フォーム データに追加/プッシュしようとしています。このように手動で投稿するとうまくいきます:

$(function () {
    $('#submitForm').submit(function (evt) {
        //prevent the browsers default function
        evt.preventDefault();
        //grab the form and wrap it with jQuery
        var $form = $(this);
        //if client side validation fails, don't do anything
        if (!$form.valid()) return;
        $.ajax({
            type: $form.prop('method'),
            url: $form.prop('action'),
            data: {
                'ListRFID': GetSelectedItems(), 
                'Printer': 'e38911b2-1a2d-e311-be86-c8f7334c3af0',
                'ExtraLine1': ''
            },
            dataType: "json",
            traditional: true,
            success: function (response) {
                document.body.innerHTML = response;
            }
        });
    });
});

以下のようにしてAJAXのデータを差し替えてみるとうまくいきません。ListRFID の代わりに未定義の変数を送信します。

var temp = { 'ListRFID': GetSelectedItems() };
var data = $form.serializeArray();
data.push(temp);
//AJAX data: data,

以下はほとんど機能しますが、投稿データを ListRFID ではなく ListRFID[]: として送信します。

data: $form.serialize() + '&' + $.param({ 'ListRFID': GetSelectedItems() }),

これを機能させるための適切なJavascriptメソッドを知っている人はいますか? とても有難い。

4

1 に答える 1

0

あなたがやりたいことは、2 つ以上のオブジェクトの内容を一緒にマージすることのようです。

したがって、Ajax 呼び出しデータ プロパティでは次のようになります。

data: $.extend( {}, $form.serializeArray(), { 'ListRFID': GetSelectedItems() } ),

詳細はこちら: http://api.jquery.com/jQuery.extend/

于 2013-10-08T17:26:01.627 に答える