2010-01-19 10 views
6

मैं जहाँ मैं एक विधि के लिए इसी तरह के साथ एक नियंत्रक है निम्नलिखित की तर्ज पर कुछ करने के लिए कोशिश कर रहा हूँ के बंधन:अजाक्स मॉडल जटिल प्रकार

public ActionResult Insert(Author author) { 
    //do something... 
} 

कहाँ लेखक प्रकार की तरह दिखता है:

public class Author { 
    public string FirstName { get; set; } 
    public string LastName { get; set; } 
    public Book[] Books { get; set; } 

    public Author() { 
    Books = new Book[0]; 
    } 
} 

public class Book { 
    public string Title { get; set; } 
    public int NumberOfPages { get; set; } 
} 

एक पृष्ठ मैं

function addAuthor() { 
    var auth = { 
    'FirstName': 'Roald', 
    'LastName': 'Dahl', 
    'Books': [ 
     { 
     'Title': 'Charlie and the Chocolate Factory', 
     'NumberOfPages': 264 
     }, 
     { 
     'Title': 'The Twits', 
     'NumberOfPages': 316 
     } 
    ] 
    }; 

    $.ajax({ 
    type: "GET", 
    url: "/Insert", 
    data: auth 
    }); 

} 

MVC तरह JQuery और Ajax कुछ का उपयोग कर डेटा को जमा करना चाहते से लेखक ओब बांधता जेक्ट (फर्स्टनाम और लास्टनाम सेट हैं) लेकिन पुस्तकें संपत्ति को बाध्य नहीं करते हैं। वह क्यों है और मैं AJAX के माध्यम से एक संपत्ति के रूप में एक ऐरे (या संग्रह) युक्त ऑब्जेक्ट कैसे सबमिट कर सकता हूं?

उत्तर

2

DaveG,

आपको मिल के बजाय एक POST विधि का उपयोग करने की जरूरत नहीं चाहेंगे ??

अर्थात

$.ajax({ 
    type: "POST", 
    url: "/Insert", 
    data: auth 
    }); 

मुझे यकीन है कि वहाँ अन्य मुद्दों के साथ-साथ फिर से json स्वरूपण हो सकता है कर रहा हूँ, लेकिन यह 1 नज़र पर मेरी प्रारंभिक thoights है।

+0

मैं एक ही समस्या है और पोस्ट ने चाल बनाई। मुझे नहीं पता कि यह ऐसा क्यों काम करता है, लेकिन यह वही है – ivowiblo

1

यह मेरे लिए यह तय: https://stackoverflow.com/a/9775470/647845

यह

contentType: 'application/json' 

जोड़ने और जोड़ने JSON.stringify करने के लिए नीचे आता है इससे पहले कि आप अपने डेटा भेजने:

data: JSON.stringify(dataObj), 
संबंधित मुद्दे