Tengo una columna en mi base de datos que se actualizará aleatoriamente. Cada vez que esa columna se actualiza, necesito actualizar el contenido de mi página. ¿Cómo puedo usar AJAX + jQuery para realizar una acción solo en los cambios de DB?Usar AJAX para ver la base de datos SQL para cambios
Respuesta
uso función setInterval de JavaScript para la votación y para comprobar el valor del campo Dababase actualizado
cheque siguiente enlace para obtener más detalles http://www.elated.com/articles/javascript-timers-with-settimeout-and-setinterval/
Deberá sondear continuamente una página que tenga el valor de la base de datos.
Enganche un procedimiento almacenado especial en su base de datos que avisa a su aplicación después de una modificación. Necesitará un módulo personalizado y las declaraciones de activación correctas.
Su otra opción es sondear.
¿Cómo alertaría a la aplicación, que está en el navegador del cliente? –
La aplicación consta de dos partes: en el navegador y en el servidor web. El servicio web backend es responsable de hablar con la base de datos a menos que asker use el estilo .0000001% de hacer que el navegador hable SQL a una base de datos. –
+1 para una forma de evitar el "sondeo de la base de datos", incluso si no evita el "sondeo de cliente a servidor" –
El servidor (base de datos/web) no puede iniciar una conexión, solo el cliente puede hacerlo. Entonces tendrá que sondear la base de datos hasta que haya una actualización. Puede crear un servicio web que verifique la base de datos y que jQuery use.
Edit: Me erraron corregido. Es posible mantener abierta una conexión AJAX hasta que el servidor "empuje" datos hacia ella. Ver: http://en.wikipedia.org/wiki/Reverse_Ajax
Y aparentemente, realmente es sondeo: http://en.wikipedia.org/wiki/Push_technology#Long_polling. Si el servidor aún no tiene datos para enviar, mantiene la conexión abierta hasta que lo haga. No es una tecnología de empuje "pura", porque el cliente no tiene un puerto de escucha al que se conecta el servidor. El efecto es similar, sin embargo.
Editar 2: Así que volviendo a responder a su pregunta ... Deberá elegir cómo "sondear" el servicio web. El servicio web debería verificar la base de datos para ver si hay actualizaciones. Verificar la base de datos en busca de actualizaciones podría ser la más complicada y realmente depende de sus requisitos. Puede ejecutar una consulta SQL para ver si algo cambió, pero ¿cómo lo sabría? Necesitarías algún tipo de parámetro (normalmente una fecha) para comparar. Si lo hace mal, puede perder algunas actualizaciones o tener múltiples visitas para una actualización. Lo que dijo Autocracy sería una buena forma de recibir notificaciones de actualizaciones. Puede mantener esa lista en la base de datos, en la memoria, etc. y borrarla cuando el cliente reciba las actualizaciones.
Básicamente, tendrá que sondear constantemente el servidor para ver los cambios en la base de datos. El servidor no puede hacer una llamada al cliente, por lo que el cliente tendrá que preguntarle constantemente al servidor si ha habido cambios.
Consulte http://en.wikipedia.org/wiki/Reverse_Ajax –
Sugeriría crear una página HTML que use setIntreval() para hacer llamadas AJAX repetidamente a un script PHP que consulte su base de datos. Puede usar JSON y PEAR para facilitar la tarea.
Enlaces de referencia:
. Muchas gracias. ¡Tu método funciona perfectamente! Simplemente no puedo configurar el intervalo demasiado bajo o hay problemas con la apertura/cierre de los lectores de datos. –
Lo que está describiendo se llama coloquialmente programación Comet. Comet describe un grupo de técnicas para enviar contenido a una página web con una conexión HTTP persistente.
La inserción se iniciará utilizando una combinación de disparador/procedimiento almacenado en el servidor de la base de datos. De esta forma, ocurre sin importar de dónde provenga la actualización de datos.
Lo tienes. Wikipedia (http://en.wikipedia.org/wiki/Comet_%28programming%29): Comet ... es conocido por varios otros nombres, incluidos Ajax Push, Ajax inverso, bidireccional, HTTP Streaming y HTTP empuje del servidor entre otros. –
Esto suena muy bien. Tendre que echarle un vistazo. ¡Gracias por el consejo! –
por ejemplo http://www.ape-project.org/ – choise
estoy haciendo casi lo mismo con una charla, vuelve a cargar un script php cada xx seg.
se ve así: reemplazar j con $ si no se usa jquery.noconflict ..
j(".chatref").everyTime(3000,function(i){
j.ajax({
url: "chatx.php",
cache: false,
success: function(updated){
j(".chatref").html(updated);
...do stuff..
}
});
Este es un método muy agradable, creo :) si desea enviar vars a chatx.php sólo tiene que añadir ? php & x = 1 & y = 2?>
- 1. ¿Herramienta gratuita para ver la base de datos en busca de cambios?
- 2. ¿Hay alguna manera de ver una base de datos mysql para cambios usando perl?
- 3. Cómo ver la base de datos SQL en el modo de depuración de Eclipse para Android
- 4. ¿Ver todos los elementos para las funciones en la base de datos de SQL Server?
- 5. Ver todo el texto en la columna ntext Management Studio de SQL Server para la base de datos SQL CE
- 6. Base de datos SQL para práctica de SQL
- 7. ¿Cómo puedo bloquear una base de datos de SQL Server para cambios?
- 8. ¿OTORGA un usuario para ver una única base de datos? (Niega ver el resto)
- 9. ¿Cómo puedo ver todas las concesiones para una base de datos SQL?
- 10. Cómo usar sqlcmd para crear una base de datos
- 11. Usar jQuery para enviar datos de Excel usando AJAX
- 12. Migraciones de base de datos para SQL Server
- 13. ¿Cómo usar una variable para el nombre de la base de datos en T-SQL?
- 14. Cómo usar Inno Setup para actualizar una base de datos usando la secuencia de comandos .sql
- 15. ¿Cómo usar un bucle de SQL para insertar filas en la base de datos?
- 16. ¿Hay alguna herramienta para ver las consultas ejecutadas en la base de datos?
- 17. Código para insertar datos en la base de datos de SQL Server usando la biblioteca Enterprise
- 18. Verificar cambios en la base de datos (control de versión)
- 19. ¿Qué comando SQL puedo usar para ver la estructura de una tabla en SQL Server?
- 20. ¿Debo usar JSON o AJAX para los datos de respuesta?
- 21. Estructura de la base de datos para rastrear el historial de cambios
- 22. Usando LINQ to SQL para crear una base de datos
- 23. Crear base de datos SQL duplicada para probar
- 24. Liquibase: cómo generar un registro de cambios para la base de datos existente
- 25. Consulta SQL para un esquema de base de datos
- 26. Buscando solución para control de versiones de base de datos
- 27. ¿Qué visualizador de base de datos usar para CouchDB?
- 28. SQL distinto para 2 campos en una base de datos
- 29. usando msbuild para crear una base de datos sql
- 30. ¿Hay una tarea ANT para ver un directorio de cambios?
No necesariamente. Hay técnicas de inserción disponibles. –
@RobertHarvey ¿Cómo? puedes dar tal? –