Foros del Web » Programando para Internet » Javascript »

Problemas con ajax.open

Estas en el tema de Problemas con ajax.open en el foro de Javascript en Foros del Web. Hola a todos, tengo un problema, resulta que tengo un pequeño script de js se trata de: Código PHP: ajax . open ( "GET" ,  ...
  #1 (permalink)  
Antiguo 13/06/2014, 21:27
 
Fecha de Ingreso: diciembre-2013
Mensajes: 108
Antigüedad: 10 años, 11 meses
Puntos: 1
Pregunta Problemas con ajax.open

Hola a todos, tengo un problema, resulta que tengo un pequeño script de js se trata de:

Código PHP:
ajax.open("GET""URL QUE SE VA A ABRIR ,true); 
este pequeño script sirve para refrescar cualquier cosa en tiempo real y funciona muy bien sin embargo el contenido que quiero refrescar tiene javascript adentro ocea:

Código PHP:
<script>Funciones de un boton</script> 
incluyo algunas librerias etc, al tener javascript resulta que el ajax.open no actualiza el script ocea este deja de funcionar por tanto el parametro ajax.open no sirve, al hacerlo con ajax.load(parametros etc) si funciona muy bien sin embargo demora como 2 segundos masomenos encambio el del open.ajax no demora nada y por eso es que quiero saber si hay alguna manera de hacer funcionar javascript con ajax.open, muchas gracias saludos les dejo mi cod completo para que lo analizen :)
Con esto el contenido que actualizo para que sea en tiempo real funciona pero el javascript que esta en ese contenido deja de funcionar.
Código PHP:
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 
Paginacione(where,tema,nropagina,catname,topicid,ttl,p){
    
    
//donde se mostrará los registros
    
divContenido document.getElementById('super-paginacion');
    
    
ajax=objetoAjax();
    
//uso del medoto GET
    //indicamos el archivo que realizará el proceso de paginar
    //junto con un valor que representa el nro de pagina
    
$(".paginacion").hide();
    $(
"#load").append("<span style='color:#ff0000;'><img width='15' height='15' src='imagen/load.gif'/></span>");
    
ajax.open("GET""ajax/comentario.php?temas="+tema+"&screen="+nropagina,true);
    
ajax.send();
    
window.location.assign("posts/"+catname+"/"+topicid+"/"+ttl+".html#paginacion-"+p);
    
window.location.assign("posts/"+catname+"/"+topicid+"/"+ttl+".html#paginacion-"+nropagina);
    
ajax.onreadystatechange=function() {
        if (
ajax.readyState==4) {
            
//mostrar resultados en esta capa
            
divContenido.innerHTML ajax.responseText
        
}
    }
    
//como hacemos uso del metodo GET
    //colocamos null ya que enviamos 
    //el valor por la url ?pag=nropagina
    
ajax.send(null)

Con este script que formule el javascript funciona sin embargo es muy lento al refrescar el div que quiero =( ayudennnnnn ¡¡

Código PHP:
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 
Paginacione(where,tema,nropagina,catname,topicid,ttl,p){

    $(
"#super-paginacion").load("ajax/comentario.php?temas="+tema+"&screen="+nropagina);
        
// Realiza algo
    
$(".paginacion").hide();
    
    $(
"#load").append("<span style='color:#ff0000;'><img width='15' height='15' src='imagen/load.gif'/></span>");
     
window.location.assign("posts/"+catname+"/"+topicid+"/"+ttl+".html#paginacion-"+p);
     
window.location.assign("posts/"+catname+"/"+topicid+"/"+ttl+".html#paginacion-"+nropagina);

  #2 (permalink)  
Antiguo 13/06/2014, 21:51
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Problemas con ajax.open

Definitivamente, con ajax.open no va a funcionar como esperas y debes buscar otra alternativa, pero será difícil sugerir algo útil si no comentas qué es lo que tienes en esos scripts que quieres integrar al "refrescar" el contenido de la página.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 13/06/2014, 21:59
 
Fecha de Ingreso: diciembre-2013
Mensajes: 108
Antigüedad: 10 años, 11 meses
Puntos: 1
Respuesta: Problemas con ajax.open

Cita:
Iniciado por Triby Ver Mensaje
Definitivamente, con ajax.open no va a funcionar como esperas y debes buscar otra alternativa, pero será difícil sugerir algo útil si no comentas qué es lo que tienes en esos scripts que quieres integrar al "refrescar" el contenido de la página.
Es un pequeño sistema de comentarios con paginacion en tiempo real, hay botones para dar un voto por ejemplo el megusta y el nomegusta y esos botones usan javascript + una libreria, algo que me eh dado cuenta es que las funciones si funcionan ocea los botones en donde tengo un onlick=funcion(parametro); su js si funciona perfectamente el problema esta cuando en ves de funcion aplico atributos ocea llamo por ejemplo por clases:

Código PHP:
$(".votos .voting_btn").click(function (e
    {

aca lo que quiero que realize.

como dije anteriormente las funciones si me agarran normal, pero de ser asi entonces tendria que poner solo funcione mas no llamar por clases ni atributos cosa que no quiero , con el load funciona a la perfeccion pero el tiempo para paginar tarda 2 segundos y con el open.ajax tarda tan solo 1 la diferencia es de 1 segundo ¡¡¡¡¡¡¡¡¡¡¡¡¡ por eso es que no me convence ¡¡ gracias de ante mano haber si me das alguna pista.
  #4 (permalink)  
Antiguo 14/06/2014, 18:04
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Problemas con ajax.open

Si estás usando jQuery, tal vez sería conveniente que uses la API de ajax: $.ajax tal vez obtengas un poco más de flexibilidad con lo que quieres hacer.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: ajax, funcion, html, js, php, valor
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 18:25.