He hecho lo que intentas hacer y esta es mi experiencia. Uso el middleware Site Studio de Oracle en el trabajo. Busqué un marco que funcionara con él pero no pude encontrar uno. Así que he probado ambas opciones a continuación.
1) La consulta de la base de datos devuelve una cierta cantidad de filas. Probé 2.000 como prueba. Un bucle foreach simple convierte los datos devueltos en datos JSON. Por lo tanto, literalmente construye una gran variedad de variables JSON a medida que recorre las filas. De esta manera, estás imitando una instantánea de una base de datos local. JS puede acceder a los elementos de la matriz muy rápidamente y puede sorprenderle la rapidez con la que puede ordenar, modificar y eliminar la información.
<script>
var appData = [{'id':'0','first':'Sam','last':'Smith'},{'id':'1','first':'Dan','last':'Smith'}];
</script>
Estos datos JSON se encuentran dentro de una etiqueta de secuencia de comandos. JQuery en doc.ready luego lee los datos y los agrega al texto html según sea necesario. Cuando un usuario cambia el valor de los datos JSON, ajax se dispara y guarda los cambios en la base de datos. No es demasiado difícil agregar un sistema como este a su aplicación. Usé Angular.js de Google más tarde para vincular los datos a la interfaz de usuario para tener un patrón limpio de MV y también es fácil de hacer rápidos géneros y filtrado del lado del cliente. Como ya se mencionó, Backbone.js y otros frameworks JS pueden sincronizar los datos del cliente al servidor.
2) La segunda forma en que guardé los datos en una página html es volver a recorrer las filas devueltas con un foreach. Entonces me guardan los datos en el HTML usando anticuado
<input type="hidden" name="someName" value="someValue" />
Luego utiliza jQuery para procesar los datos y añadirlo a la interfaz de usuario. Si usted realmente desea conseguir salvaje con JSON en realidad se puede incrustar en variables HTML al igual que
<input type="hidden name="row1" value="{'color':'red','style':'fancy','age':'44'}" />
A continuación, puede utilizar jQuery o angularjs para procesar los datos y enlazarlo a la interfaz de usuario.
Es interesante que muchos frameworks de aplicaciones no tienen un sistema incorporado de caché del lado del cliente. Realmente es ineficaz ordenar un menú de selección en el lado del servidor y luego reconstruir el html. Es mejor ordenarlo en JS y reconstruir dinámicamente el menú de selección. Existe una preocupación con respecto a la seguridad y no desea imprimir información privada en las variables JSON o HTML, ya que está visible en el origen de la vista. También puede incrustar datos en páginas utilizando más técnicas deshonestas. Tenga en cuenta a continuación:
<span class="data" value="1234"></span>
$(function() {
$('.data').each(function() {
var val = $(this).attr('value');
console.log(val); //process data
});
});
Puede utilizar JQuery en doc.ready para procesar clases llamadas datos. También puede almacenar datos JSON en el valor y analizarlo más tarde. Tenga en cuenta que las personas de JQuery están en contra de los desarrolladores que usan clases de esta manera. En mi experiencia, si no te excedes con esto, funciona muy bien.
¿Cuánto vale * 2 años de datos? * ¿Son 2 años de los registros del servidor web de Google, o algo de menor escala? – Matt
@Matt es alrededor de 32K filas. –
Entonces no lo envíe al cliente. Deje que el cliente sondee el servidor. – Matt