2010-07-29 27 views
5

È necessario caricare parzialmente la pagina HTML con il metodo $(selector).load('/sitePath', params, function() { ... });. Il layout HTML è ok ma sarebbe bello restituire anche dei valori aggiuntivi per javascript.JQuery: valori di ritorno per caricare la funzione di callback

Oggigiorno restituisco uno speciale blocco javascript con le variabili javascript all'interno del layout html per leggere i loro valori sul richiamo del carico. Qual è la migliore pratica per eseguire tale operazione?

Grazie in anticipo!

risposta

1

Vorrei andare per JSON e .ajax().

$.ajax({ 
    url:  '/sitePath', 
    dataType: 'json', 
    type:  'POST', 
    data:  params, 
    success: function(data){ 
     $(selector).html(data.newcontent); 
     var info = data.additionalinfo; 
    } 
}); 

ovviamente presuppone che si crea una stringa JSON sul server che sia palmari, una proprietà denominata newcontent che dovrebbe contenere html markup e una proprietà denominata additionalinfo.

+0

Grazie! Ma è possibile effettuare il refactoring per caricare il metodo? –

+0

@Andrew: sfortunatamente no, '.load()' è un wrapper per '.ajax()' che carica automaticamente il contenuto ricevuto nell'elemento selezionato. Questo è lo scopo di questo metodo. Per avere più controller è necessario gestire il sottostante metodo '.ajax()'. – jAndy

+0

È così peccato. Devo usare l'applicazione classica ASP.NET (non MVC) in un progetto e usare la pagina aspx per creare layout html caricato in modo parziale. Questa pagina si basa pesantemente su asp: i controlli. Ecco perché ho esitato sul layout di conversioni json. –

Problemi correlati