2017-02-22 1 views
3

Ich versuche, einige Daten zu meinem Formular direkt vor dem Posten mit der beforeSend-Funktion hinzuzufügen, aber die Daten kommen nicht durch die Post. Ich vermute, dass das Formular serialisiert wird, bevor die Daten hinzugefügt werden, aber das ist nur eine Vermutung.Hinzufügen von Daten zu Form direkt vor Ajax Post

Hier ist meine Jquery/Ajax:

$.ajax({ 
    type: "POST", 
    url: '@Url.Action("SaveHeaders", "Tally")', 
    //data: { model: @Html.Raw(Json.Encode(@Model)) }, 
    data: $('#myForm').serialize(), 
    beforeSend: function() { 
    var displayIndex = imageIndex+1; 
    $("#images tbody").append("<tr><td class='text-center align-middle'>" + displayIndex + "<input type='hidden' id='SellerGroup_" + imageIndex + "__imageId' class='form-control text-box single-line' name='SellerGroup[" + imageIndex + "].imageId' readonly='readonly' value='" + $('#imageName').val() + "' /><td><input type='text' id='SellerGroup_" + imageIndex + "__majorGroup' class='form-control text-box single-line' name='SellerGroup[" + imageIndex + "].majorGroup' readonly='readonly' value='" + major + "' /></td><td><input type='text' id='SellerGroup_" + imageIndex + "__minorGroup' class='form-control text-box single-line' name='SellerGroup[" + imageIndex + "].minorGroup' readonly='readonly' value='" + minor + "' /></td></tr>"); 
        }, 
        success: function (data) { 
         console.log(data); 
        } 
       }); 

Antwort

1

Bevor Sie den $.ajax(...) Code ausführen, versuchen, dies zu setzen:

$('#myForm').append('<input type="hidden" name="whateverName" value="whateverValue" />'); 

und nur dann Code ausführen (mit der Methode $('#myForm').serialize()).

+1

hah, du hattest im Wesentlichen Recht. Ich habe den Code in der Funktion vor dem Senden über den Ajax-Aufruf verschoben und jetzt funktioniert es wie erwartet! Vielen Dank! – dmikester1