Ich habe diesen Javascript-Code:Liste in der Steuerung von Ajax
var formData = new FormData($('#formSlip').get(0));
formData.append('myList', JSON.stringify(tests));
Wo tests
eine Liste von Objekten ist. Ich sende eine Ajax Post-Anfrage an meinen Controller und innerhalb dieser Anfrage sende ich eine Datei und eine Liste von Objekten.
$.ajax({
url: url,
type: 'post',
data: formData,
processData: false,
contentType: false,
cache: false,
success://some code
})
Ich habe habe einen Blick in meine Request Payload
DevTools
in Chrome, und es sieht wie folgt aus:
Content-Disposition: form-data; name="firstPdf"; filename="blank.pdf"
Content-Type: application/pdf
Content-Disposition: form-data; name="myList"
[{"key":"Section1","listTitles":["aaaa","aa","aa","a"]},
{"key":"Section2","listTitles":["bb","b","bb","b"]}]
ich die Datei in Ordnung in meinem Controller-Aktion bin abrufen, aber aus irgendeinem Grund die Liste immer leer ist, das ist mein Controller-Aktion:
[HttpPost]
public ActionResult LS10(HttpPostedFileBase firstPdf, List<PdfPieceVM> myList)
{
var t = firstPdf.InputStream;
byte[] pdfByte = new byte[firstPdf.ContentLength];
return File(pdfByte, "application/pdf", firstPdf.FileName);
}
ich ein Ansichtsmodell erstellt haben gerade diese Liste zu erhalten:
Wenn ich meinen Code debuggen der myList
Parameter ist immer leer, aber ich empfange die Datei, was muss ich tun, um dies zu korrigieren?
Sind Sie in diesem Beitrag sah noch: http: // Stackoverflow com/questions/13242414/passing-a-list-of-objects-in-ein-mvc-controller-methode-using-jquery-ajax - Sieht aus wie contentType ist erforderlich. –