2010-07-29 18 views
5

Se requiere cargar parcialmente la página Html con el método $(selector).load('/sitePath', params, function() { ... });. El diseño de HTML viene bien, pero sería bueno devolver algunos valores adicionales para javascript también.JQuery: devolver valores para cargar la función de devolución de llamada

Hoy en día devuelvo un bloque especial de javascript con variables javascript dentro de la disposición html para leer sus valores en la devolución de carga. ¿Cuál es la mejor práctica para realizar tal operación?

¡Gracias de antemano!

Respuesta

1

Iría por JSON y .ajax().

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

Por supuesto supone que se crea una cadena JSON en su servidor que helds tanto, una propiedad denominada newcontent que debe contener html markup y una propiedad denominada additionalinfo.

+0

¡Gracias! Pero, ¿es posible refactorizar esto para cargar el método? –

+0

@Andrew: desafortunadamente no, '.load()' es un contenedor para '.ajax()' que carga automáticamente el contenido recibido en el elemento seleccionado. Ese es el propósito de este método. Para tener más control, debe tratar con el método '.ajax()' subyacente. – jAndy

+0

Es tan lamentable. Tengo que usar la aplicación clásica ASP.NET (no MVC) en un proyecto y usar la página aspx para crear un diseño html cargado parcialmente. Esta página se basa en gran medida en asp: controles. Es por eso que dudo acerca de las conversiones de layout a json. –

Cuestiones relacionadas