Foros del Web » Programando para Internet » Javascript » Frameworks JS »

problema al cargar pagina q tiene consulta mysql y funciones en script con ajax

Estas en el tema de problema al cargar pagina q tiene consulta mysql y funciones en script con ajax en el foro de Frameworks JS en Foros del Web. tengo un problema al cargar los escripts desde un ajax en una pagina que se llama modificar_permisos.jsp con el siguiente codigo Código: <form name="form1" method="post" ...
  #1 (permalink)  
Antiguo 01/11/2010, 10:41
Avatar de valdo_kof  
Fecha de Ingreso: noviembre-2009
Ubicación: San Juan del Rio, Qro
Mensajes: 192
Antigüedad: 14 años, 6 meses
Puntos: 16
Pregunta problema al cargar pagina q tiene consulta mysql y funciones en script con ajax

tengo un problema al cargar los escripts desde un ajax en una pagina que se llama modificar_permisos.jsp con el siguiente codigo
Código:
	<form name="form1" method="post" action="">
    <table width="282" border="0" align="center">
        <tr>
          <td width="276"><div id="login3"><table width="262" border="0" align="center">
            <tr>
              <td width="289"><div align="center">perfil</div></td>
            </tr>
<%//pongo mis variables de coneccion
             //conecto con mi basede datos  
  //hago la consulta
 while(rs.next()){  
 int dato=rs.getInt("id_perfil");
 %><tr>
              <td><a style="text-decoration:underline;cursor:pointer;" onclick="getPagina('permisos.jsp?idperfil=<%=dato%>')"><%=rs.getString("perfil")%></a></td>
            </tr>
<%
}%>
          </table></div></td>
        </tr>
        <tr><td>           
       </td> </tr>       
      </table>
           <div id="formulario"></div>
    </form>
    </body>
mi codigo ajax.js es el siguiente

Código:
var tagScript = '(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)';
/**
* Eval script fragment
* @return String
*/
String.prototype.evalScript = function()
{
        return (this.match(new RegExp(tagScript, 'img')) || []).evalScript();
};
/**
* strip script fragment
* @return String
*/
String.prototype.stripScript = function()
{
        return this.replace(new RegExp(tagScript, 'img'), '');
};
/**
* extract script fragment
* @return String
*/
String.prototype.extractScript = function()
{
        var matchAll = new RegExp(tagScript, 'img');
        return (this.match(matchAll) || []);
};
/**
* Eval scripts
* @return String
*/
Array.prototype.evalScript = function(extracted)
{
				var s=this.map(function(sr){
				var sc=(sr.match(new RegExp(tagScript, 'im')) || ['', ''])[1];
				if(window.execScript){
				    window.execScript(tagScript);
				}
				else
				{
				 window.setTimeout(sc,0);
				}
				});
				return true;
};
/**
* Map array elements
* @param {Function} fun
* @return Function
*/
Array.prototype.map = function(fun)
{
        if(typeof fun!=="function"){return false;}
        var i = 0, l = this.length;
        for(i=0;i<l;i++)
        {
                fun(this[i]);
        }
        return true;
};

function AJAX2(){
	var ajaxs = ["Msxml2.XMLHTTP","Msxml2.XMLHTTP.4.0","Msxml2.XMLH TTP.5.0","Msxml2.XMLHTTP.3.0","Microsoft.XMLHTTP"];
	var ajax = false;
	for(var i=0 ; !ajax && i<ajaxs.length ; i++){
		try{
			ajax = new ActiveXObject(ajaxs[i]);
		}
		catch(e) {
			ajax = false;
		}
	}
	if(!ajax && typeof XMLHttpRequest!='undefined') {
		ajax = new XMLHttpRequest();
	}
	return ajax;
}

function getPagina(pagina){

	document.getElementById("formulario").innerHTML = "<center>C A R G A N D O</center>";

	var ajax = AJAX2();
	if(!ajax){
		document.getElementById("formulario").innerHTML = "Error: El navegador no acepta ActiveX. No se pudo cargar la pagina.";
		return false;
	}

	ajax.open("POST",pagina,true);

	ajax.onreadystatechange = function() {
		if (ajax.readyState == 4) {
			var scs=ajax.responseText.extractScript();
      document.getElementById("formulario").innerHTML=ajax.responseText.stripScript();
      scs.evalScript();
		}
	}

	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.send(null);
}
lo ocupo para abrir la pagina permisos.jsp la cual me hace una consulta y me activa los checks de una lista de permisos dependiendo del resultado de mi consulta

el codigo de mi pagina permisos.jsp es el siguiente

Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <script>
function seleccionar_todo(){
	for (i=0;i<document.forms.form1.elements.length;i++)
		if(document.forms.form1.elements[i].type == "checkbox")
			document.forms.form1.elements[i].checked=1
}
function deseleccionar_todo(){
	for (i=0;i<document.forms.form1.elements.length;i++)
		if(document.forms.form1.elements[i].type == "checkbox")
			document.forms.form1.elements[i].checked=0
}
</script>
    <script>
         function seleccionar2(subper,id2){
document.forms.form1.subper.checked = true
document.forms.form1.subper.value = id2
}
    </script>
<script>
    function seleccionar(tarea,id,subper,id2){
        document.forms.form1.tarea.checked = true
document.forms.form1.tarea.value = id
document.forms.form1.subper.checked = true
document.forms.form1.subper.value = id2
    }
</script>
    <body>
<form name="form1" method="post" action="">
<table width="200" border="1" align="center">
<tr>
<td>Permisos 
  <label> <br>
  <input type="checkbox" name="checkbox" value="" onClick="javascript:seleccionar_todo()">
seleccionar todos <br>
<input type="checkbox" name="checkbox2" value="" onClick="javascript:deseleccionar_todo()">
  seleccionar ninguno</label></td>
</tr>
<tr>
<td>
<table width="200" border="1">
<tr>
<td>Catalogos</td>
</tr>
<tr>
<td>
<table width="200" border="1">
<tr>
<td>
<label>
<input name="plano" type="checkbox" id="plano" value="">
</label>Planos</td>
</tr>
<tr>
<td><table width="200" border="1">
<tr>
<td><label>
<input type="checkbox" name="agregar_plano" value="" id="agregar_plano">
Agregar Datos<br>
<input type="checkbox" name="modificar_plano" value="" id="modificar_plano">
Modificar Datos<br>
<input type="checkbox" name="eliminar_plano" value="" id="eliminar_plano">
Eliminar Datos</label></td>
</tr>
</table>
</td>
</tr>
</table></td>
</tr>
</table>
<table width="220" border="1">
<tr>
<td width="210">Herramientas</td>
</tr>
<tr>
<td><table width="211" border="1">
<tr>
<td width="201"><label>
<input name="respaldar" type="checkbox" id="respaldar" value="">
</label>
Respaldar Base de Datos </td>
</tr>
<tr>

</tr>
</table></td>
</tr>
<tr>
<td><table width="210" border="1">
<tr>
<td width="200"><label>
<input name="restaurar" type="checkbox" id="restaurar" value="">
</label>
Restaurar Base de Datos </td>
</tr>
<tr>
  
</tr>
</table></td>
</tr>
</table>
<table width="218" border="1">
<tr>
<td width="214">Produccion</td>
</tr>
<tr>
<td><table width="208" border="1">
<tr>
<td width="198"><label>
<input type="checkbox" name="nueva" value="" id="nueva">
</label>
nueva</td>
</tr>
</table></td>
</tr>
<tr>
<td><table width="210" border="1">
<tr>
<td width="200"><label>
<input type="checkbox" name="continuar" value="">
</label>
Continuar</td>
</tr>
</table></td>
</tr>
<tr>
<td><table width="210" border="1">
<tr>
<td width="200"><label>
<input type="checkbox" name="paro" value="">
</label>
Paro</td>
</tr>
<tr>
<td><table width="200" border="1">
<tr>
<td><label>
<input type="checkbox" name="reportar_causa" value="">
</label>Reportar Causa </td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>            
<table width="200" border="1">
<tr>
<td>Usuarios Y Perfiles </td>
</tr>
<tr>
<td><table width="200" border="1">
<tr>
<td><label>
<input name="usuarios" type="checkbox" id="usuarios" value="">
</label>
Usuarios</td>
</tr>
<tr>
<td><table width="200" border="1">
<tr>
<td><label>
<input type="checkbox" name="registrar_usuario" value="">Registrar Usuario<br>
<input type="checkbox" name="modificar_usuario" value="">Modificar Usuario<br>
<input type="checkbox" name="eliminar_usuario" value="">Eliminar Usuario</label></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td><table width="200" border="1">
<tr>
<td><label>
<input name="perfiles" type="checkbox" id="perfiles" value="">
</label>Perfiles</td>
</tr>
<tr>
<td><table width="200" border="1">
<tr>
<td><label>
<input type="checkbox" name="agregar_perfil" value="">Agregar Perfil<br>
<input type="checkbox" name="modificar_perfil" value="">Modificar Perfil<br>
<input type="checkbox" name="eliminar_perfil" value="">Eliminar Perfil</label></td>
</tr>
</table></td>
</tr>				  
</table></td>
</tr>
<tr>
<td><table width="200" border="1">
<tr>
<td><label>
<input name="permisos" type="checkbox" id="permisos" value="">
</label>Permisos</td>
</tr>
<tr>
<td><table width="200" border="1">
<tr>
<td><label><input type="checkbox" name="modificar_permisos" value="">Modificar Permisos </label></td>
</tr>                      
</table></td>
</tr>
</table></td>
</tr>
</table>
</td>
</tr>		
</table>
</form>
<%
         String tarea=null;
int dato=Integer.parseInt(request.getParameter("idperfil"));;
<%//pongo mis variables de coneccion
             //conecto con mi basede datos  
  //hago la consulta
while(rs.next()){
<%
             //conecto con mi basede datos  
  //hago la consulta

while(rs2.next()){
//conecto con mi basede datos  
  //hago la consulta
while(rs3.next()){
if(rs3.getString("tarea").equals("null")){
tarea="nueva";
%>
<script>
seleccionar2(<%=rs2.getString("subpermiso")%>,<%=rs2.getInt("subpermiso.id_subpermiso")%>);
</script>
<%
}
else{
    tarea=rs3.getString("tarea");
%>
<script>

    seleccionar(<%=tarea%>,<%=rs3.getInt("tareas.id_tarea")%>,<%=rs2.getString("subpermiso")%>,<%=rs2.getInt("subpermiso.id_subpermiso")%>);

</script>
<%
}}}}//cierro conecciones%>        
</body>
</html>
el problema esta en que cuando mando llamar permisos.jsp me manda un error de tiempo de ejecucion en la linea
document.getElementById("formulario").innerHTML=aj ax.responseText.stripScript();
de mi ajax.js

no se ejecutan que es lo que estoy haciendo mal o como puedo corregirlo si alguien me puede ayudar se lo agradecere.


de antemano muchas gracias
  #2 (permalink)  
Antiguo 01/11/2010, 14:06
Avatar de valdo_kof  
Fecha de Ingreso: noviembre-2009
Ubicación: San Juan del Rio, Qro
Mensajes: 192
Antigüedad: 14 años, 6 meses
Puntos: 16
Respuesta: problema al cargar pagina q tiene consulta mysql y funciones en script con

este es otro ajax con el que he tratado y tampoco me resulta

Código:
var tagScript = '(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)';
/**
* Eval script fragment
* @return String
*/
String.prototype.evalScript = function()
{
        return (this.match(new RegExp(tagScript, 'img')) || []).evalScript();
};
/**
* strip script fragment
* @return String
*/
String.prototype.stripScript = function()
{
        return this.replace(new RegExp(tagScript, 'img'), '');
};
/**
* extract script fragment
* @return String
*/
String.prototype.extractScript = function()
{
        var matchAll = new RegExp(tagScript, 'img');
        return (this.match(matchAll) || []);
};
/**
* Eval scripts
* @return String
*/
Array.prototype.evalScript = function(extracted)
{
				var s=this.map(function(sr){
				var sc=(sr.match(new RegExp(tagScript, 'im')) || ['', ''])[1];
				if(window.execScript){
				    window.execScript(tagScript);
				}
				else
				{
				 window.setTimeout(sc,0);
				}
				});
				return true;
};
/**
* Map array elements
* @param {Function} fun
* @return Function
*/
Array.prototype.map = function(fun)
{
        if(typeof fun!=="function"){return false;}
        var i = 0, l = this.length;
        for(i=0;i<l;i++)
        {
                fun(this[i]);
        }
        return true;
};

function AJAX2(){
	var ajaxs = ["Msxml2.XMLHTTP","Msxml2.XMLHTTP.4.0","Msxml2.XMLH TTP.5.0","Msxml2.XMLHTTP.3.0","Microsoft.XMLHTTP"];
	var ajax = false;
	for(var i=0 ; !ajax && i<ajaxs.length ; i++){
		try{
			ajax = new ActiveXObject(ajaxs[i]);
		}
		catch(e) {
			ajax = false;
		}
	}
	if(!ajax && typeof XMLHttpRequest!='undefined') {
		ajax = new XMLHttpRequest();
	}
	return ajax;
}

function getPagina(pagina){

	document.getElementById("formulario").innerHTML = "<center>C A R G A N D O</center>";

	var ajax = AJAX2();
	if(!ajax){
		document.getElementById("formulario").innerHTML = "Error: El navegador no acepta ActiveX. No se pudo cargar la pagina.";
		return false;
	}

	ajax.open("POST",pagina,true);

	ajax.onreadystatechange = function() {
		if (ajax.readyState == 4) {
			var scs=ajax.responseText.extractScript();
      document.getElementById("formulario").innerHTML=ajax.responseText.stripScript();
      scs.evalScript();
		}
	}

	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.send(null);
}
  #3 (permalink)  
Antiguo 01/11/2010, 15:19
Avatar de valdo_kof  
Fecha de Ingreso: noviembre-2009
Ubicación: San Juan del Rio, Qro
Mensajes: 192
Antigüedad: 14 años, 6 meses
Puntos: 16
Respuesta: problema al cargar pagina q tiene consulta mysql y funciones en script con

el anterior es el mismo q habia posteado primero, con las mismas paginas jsp modificr_datos y permisos.jsp pero con este ajax no me aparece error pero no me muestra nada

Código:
function objetoAjax(){
	var xmlhttp=false;
	try{
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	}catch(e){
		try{
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		}catch(E){
			xmlhttp = false;
  		}
	}
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		xmlhttp = new XMLHttpRequest();
	}
	return xmlhttp;
}

function rescatar_script(texto)
{
	var p1=texto.split("<scrip",2);
	if (p1[1]) {
		var p2=p1[1].split(">",2);
		var p3=p2[1].split("</script",2)
		if (p3[0] && p3[0]!='')
			eval(p3[0]);
			texto=p1[0]+p3[1];
			texto=rescatar_script(texto);
	}
	return texto;
}

function pedirDatos(idperfil){
	//donde se mostrar� el formulario con los datos
	divFormulario = document.getElementById('formulario');
	ajax=objetoAjax();
	//uso del medotod POST
	ajax.open("POST", "permisos.jsp");
	ajax.onreadystatechange=function() {
		if (ajax.readyState==4) {
			//mostrar resultados en esta capa
                        TEXTO=rescatar_script(ajax.responseText);
			divFormulario.innerHTML = TEXTO
		}
	}
	//como hacemos uso del metodo POST
	ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	//enviando el codigo del empleado
	ajax.send("idperfil="+idperfil)
}

Etiquetas: ajax, funciones, mysql
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 16:19.