Czy łącznik modelu nie obsługuje tablic obiektów JSON? Poniższy kod działa podczas wysyłania pojedynczego obiektu domeny JSON jako części posta ajaxowego. Jednak podczas wysyłania tablicy obiektów domeny JSON parametr działania ma wartość null.Umieszczanie tablicy obiektów JSON w metodzie akcji MVC3 za pomocą jQuery ajax
var domains = [{
DomainName: 'testt1',
Price: '19.99',
Available: true
}, {
DomainName: 'testt2',
Price: '15.99',
Available: false
}];
$.ajax({
type: 'POST',
url: Url.BasketAddDomain,
dataType: "json",
data: domains,
success: function (basketHtml) {
},
error: function (a, b, c) {
alert('A problem ocurred');
}
});
Jest to metoda działania:
public ActionResult AddDomain(IEnumerable<DomainBasketItemModel> domain)
{
...
Wszelkie pomysły, czy jest możliwe, aby to zrobić?
EDIT
@Milimetric
Twoje rozwiązanie działa! Jednak to moja wina, ale kod, który zademonstrowałem, nie jest prawdziwym kodem mojego problemu, starałem się pokazać równoważny kod, który jest łatwiejszy do zrozumienia.
Jestem rzeczywiście tworząc tablicę, a następnie interating kilka elementów DOM i przesuwając obiekt JSON na tablicy, a następnie opublikowania tej tablicy jako dane ...
var domains = [];
$(this).parents('table').find('input:checked').each(function() {
var domain = {
DomainName: $(this).parent().parent().find('.name').html(),
Price: $(this).parent().parent().find('.price span').html(),
Available: $(this).parent().parent().find('.available').html() == "Available"
}
domains.push(domain);
});
$.ajax({
type: 'POST',
url: Url.BasketAddDomain,
dataType: "json",
data: { domain: domains },
success: function (basketHtml) {
},
error: function (a, b, c) {
alert('A problem ocurred');
}
});
pokrewne - http://stackoverflow.com/questions/2515773/ajax-post-of-javascript-string-array-to-jsonresult-as -liststring-zawsze-zwraca – ChrisF