2016-03-31 18 views
0

ile gönderilen verileri al (ilişkisel dizi) AJAX'ta bir formu POST yapmaya çalışıyorum ve parametrelerden biri ilişkilendirici bir dizidir. Konsolu'nda isteğin tamam olduğunu ve parametrelerin doğru şekilde gönderildiğini kontrol edebilirim.Denetleyicinin eylemine AJAX

Bu AJAX

var fieldsEdited = [{"Key":1,"Values":["value1"]},{"Key":2,"Values":["value2"]}, ...] 
$.ajax({ 
    url: "/url" 
    type: 'POST', 
    data: { fieldsEdited: JSON.stringify(fieldsEdited) }, 
    dataType: 'json', 
    traditional: true, 
    success: function (data, textStatus, jqXHR) { } 
}); 

çağrı edilir Ama bunu

[HttpPost] 
public ActionResult Method(List<DictionaryInfos> fieldsEdited) 
gibi onları almak için çalıştık

Ben kumandanın eylem bu parametreleri "map" olamaz

ile

ancak sonuç her zaman boş bir dizidir, doğru verileri alamıyorum.

Sorun nedir?

+0

Bu parametrenin önündeki [FromBody] özniteliğini eklemeye çalışın – MajkeloDev

+0

Ajax çağrı kodunuzu eksiksiz gönderin. –

+0

Gönderiyi düzenledim. Teşekkürler – user3656665

cevap

1

Kodunuzla ilgili en az bir sorun var: dataType, sunucuya ne gönderdiğinize değil, sunucudan ne beklediğinize aittir.

Sunucu buna gönderiyoruz ne tür verilerin bildirmek için contentType belirtmek gerekir:

contentType: "application/json; charset=utf-8" 

Ayrıca, sen

için

data: { fieldsEdited: JSON.stringify(fieldsEdited) }, 

değiştirmeniz gerekir mümkündür

veya hatta

için
data: fieldsEdited 
+0

Gerçekten de contentType eklemek bunu çözüyor. Teşekkürler – user3656665