2009-07-31 3 views
6

Ho un controller che restituisce un elenco di misura LINQ to SQL oggetti del modello in formato JSON alle chiamate ajax jQuery:Come elaborare JSON utilizzando jquery?

List<MyAppLibrary.Model.Search> listSearches = search.ToList(); 
     return new JsonResult { Data = listSearches }; 

Ho il seguente javascript che ottiene la risposta:

$.getJSON("/ajax/getbrands", 
    function(data) { 
     alert(data); 
    }); 

Mi piacerebbe sapere come posso elaborare la risposta ai dati in javascript? Come ottengo il parametro Name dell'oggetto Model.Search?

Grazie.

+0

Se si riesce a mostrare il JSON restituito dal metodo che sarà di grande aiuto! – TheVillageIdiot

risposta

7

La variabile data che viene restituito dalla chiamata jQuery AJAX contiene l'oggetto JSON. È possibile accedere ai campi di ciascuno dei vostri MyAppLibrary.Model.Search oggetti del JavaScript in questo modo:

// this will grab the Search object at index 0 of your list 
// and put the Name property's value of the Search object 
// into a var 
var firstItemName = data.Data[0].Name; 
6

L'argomento data avrà una proprietà Data, che è l'elenco dei modelli Search.

$.getJSON("/ajax/getbrands", 
     function(data) { 
      $.each(data.Data, function(i, item) { 
        // ... item will be a Search model... 
        // ... i will be the index of the item in the list... 
        // ... 
      }); 
     } 
); 
+0

Ho usato questo formato, ma ho dovuto modificare ogni riga su $ .each (dati, funzione (i, articolo) { per farlo funzionare. È interessante notare che il sito jquery dice di usare $ .each (data.items, funzione (i, item) { ma questo non ha funzionato per me con jquery.1.3.2 – PhoebeB