Foros del Web » Programando para Internet » Javascript »

Recargar script desde Ajax

Estas en el tema de Recargar script desde Ajax en el foro de Javascript en Foros del Web. Hola! Me gustaría saber como recargar solo un script sin tener que cargar la pagina entera. My script es un mapa hecho en openlayers, el ...
  #1 (permalink)  
Antiguo 14/04/2015, 07:07
 
Fecha de Ingreso: septiembre-2014
Mensajes: 40
Antigüedad: 9 años, 6 meses
Puntos: 0
Pregunta Recargar script desde Ajax

Hola!

Me gustaría saber como recargar solo un script sin tener que cargar la pagina entera. My script es un mapa hecho en openlayers, el cual necesito cargar cada vez que borro registros en mi base de datos.

Cuando borro registros de mi base de datos envio un json a un ajax para que si se ha eliminado o no, muestre una alerta. El codigo es el siguiente:

Código:
// Autor: @jqcaper
// Configuraciones Generales
var nombre_tabla_pozos = "#tabla_pozos"; // id
var nombre_boton_eliminar_pozo = ".deletepozo"; // Clase
var nombre_formulario_modal_pozo = "#frmEliminarpozo"; //id
var nombre_ventana_modal_pozo = "#pozoModal"; // id
// Fin de configuraciones
$(document).on('ready',function(){
	$(nombre_boton_eliminar_pozo).on('click',function(e){
		e.preventDefault();
		var Pid_pozo = $(this).attr('id');
		var name_pozo = $(this).data('name');
		$('#modal_idPozo').val(Pid_pozo);
		$('#pozo_name').text(name_pozo);
	});
	var options_pozo = {
		success:function(response)
		{			
			if(response.status=="True"){
				alert("¡Pozo Eliminado!");
				var idPozo = response.pozo_id;
				var elementospozo= $(nombre_tabla_pozos+' >tbody >tr').length;
				if(elementospozo==1){
					location.reload();
				}else{
					$('#tr'+idPozo).remove();
					$(nombre_ventana_modal_pozo).modal('hide');

                                      ***RECARGAR SCRIPT
				}
			}else{
				alert("¡Hubo un error al eliminar!");
				$(nombre_ventana_modal_pozo).modal('hide');
			};
		}
	};
	$(nombre_formulario_modal_pozo).ajaxForm(options_pozo);
});
Alguien podría ayudarme?

Muchas gracias de antemano!
  #2 (permalink)  
Antiguo 14/04/2015, 09:06
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Recargar script desde Ajax

Hola:

Evidentemente no usas javascript nativo ($() no es nativo)... pero contestando "por javascript", los scripts no se recargan, lo que se debe hacer es asociar métodos a eventos... un pequeño trabajo adicional en las peticiones Ajax.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 14/04/2015, 11:50
 
Fecha de Ingreso: septiembre-2014
Mensajes: 40
Antigüedad: 9 años, 6 meses
Puntos: 0
Respuesta: Recargar script desde Ajax

Entiendo que debería poner una función onclick en algún botón que me ejecutara el script. ¿No habría manera de ejecutar (que no recargar) el script desde mi función ajax sin necesidad de asociarlo a ningún evento?

Muchas gracias otra vez!
  #4 (permalink)  
Antiguo 14/04/2015, 20:47
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años
Puntos: 131
Respuesta: Recargar script desde Ajax

No te entiendo, pero puedes ejecutar codigo con eval();
  #5 (permalink)  
Antiguo 14/04/2015, 21:01
 
Fecha de Ingreso: abril-2015
Ubicación: Bogotá D.C - Colombia
Mensajes: 106
Antigüedad: 9 años
Puntos: 11
Respuesta: Recargar script desde Ajax

Entiendo que deseas cargar un archivo javascript que no esté importado en la página...
Yo lo haría por javascript puro así:

var script = document.createElement('script');
script.src = "urlDelScript";
script.type ="text/javascript"
document.head.appendChild(script); //Si lo quieres importar en el head....
o según sea el caso.
document.boby.appendChild(script); //body o simplemente en u contenedor:

document.getElementById('x').appendChild(script);

Claramente el script debería estar en un arhivo JS... y con el script anterior tu lo importas..


Éxitos!!! ;)

Etiquetas: ajax, reload
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:24.