Resultados 1 al 7 de 7

Tema: función .load jquery

  1. #1

    Predeterminado función .load jquery

    Buenas,
    A ver si alguien me puede echar una mano.

    He usado la función load de jquery, que recoge el contenido de una petición.

    $("#contenido").load('carga.html')

    Esto coge el texto de carga.html y lo guarda en la etiqueta contenido.
    Si hago un <div id="contenido"></div> me lo muestra en pantalla.
    El problema es que si quiero guardar el div en una variable mediante getelementbyid no puedo, es como si el div estuviera vacío, y me aparece en blanco. Supongo que el div lo guarda por referencia o algo así. Alguna forma de poder guardarlo?
    Soy bastante cateto sobre el tema, perdonad mi ignorancia.
    un saludo y gracias

  2. #2
    Avatar de alex
    Ubicación
    Toy en Noticias3D
    Edad
    40
    Mensajes
    631

    Predeterminado Re: función .load jquery

    Si lo he entendido bien, lo que quieres es guardar el contenido del div en una variable.
    Yo haria:
    var contenido = $("#contenido").html();

    Creo que es eso...
    -Alex, Noticias3D member-

  3. #3

    Predeterminado Re: función .load jquery

    Gracias por contestar. Pero por lo visto el método load de jquery no se que coño hace que no es posible guardarlo en una variable.
    Lo que he hecho es esto:

    $.get('directorio/carga.html', contenido);

    function doSomethingWithData(contenido) {
    alert(contenido);
    }

    Y me lo guarda bien.
    saludos

  4. #4
    Avatar de alex
    Ubicación
    Toy en Noticias3D
    Edad
    40
    Mensajes
    631

    Predeterminado Re: función .load jquery

    Creo que deberias intentar:
    $.get('directorio/carga.html', function(data) {
    $('.result').html(data);
    alert('Load was performed.');
    });

    Mira la documentacion:
    http://api.jquery.com/jQuery.get/
    -Alex, Noticias3D member-

  5. #5
    Con domicilio en Noticias3d.com Avatar de Bakidok
    Mensajes
    5,066

    Predeterminado Re: función .load jquery

    Si realmente la petición ajax te devuelve contenido que vas a tratar como variables y no como simple html a mostrar por pantalla, te aconsejo que utilices JSON para "estructurar" el contenido a obtener.

    Para que te sea mas intuitivo trabajar con la función, crea una de este estilo:

    Código:
    jQuery.extend({
        postJSON: function(url, data, callback) {
            return jQuery.post(url, data, callback, "json");
        }
    });
    A partir de aquí puedes hacer algo así:

    Código:
    jQuery.postJSON("archivo.php", { 'var' : arrayVariables}, function(data){
            infoObtenida = eval(data);
            resultado = infoObtenida['loquesea'];
    });
    Lo de arrayVariables es por si le quieres pasar variables al archivo php.

    Y el archivo.php que devuelva algo asi:

    Código:
    //mas codigo
    
    $output['loquesea'] = "un string"; //o un array, etc.
    echo json_encode($output);
    Mas o menos sería así.
    Intel Core i7-3770K@4.3Ghz | Noctua NH-D14 | Gigabyte GA-Z77X-D3H | 16 GB DDR3 1866C9D (9-10-9-28) | Gigabyte HD 7970 Ghz Edition 3GB | Antec P280

  6. #6

    Predeterminado Re: función .load jquery

    ok gracias. Probaré a usar JSON.
    Ahora otra preguntilla, para pasar variables entre 2 ficheros fichero1.js y fichero2.js, únicamente en javascript?? si todo es del lado cliente no debe suponer ningún problema no? Es que estoy trabajando sobre un código ya creado y tengo que mantener la estructura.... He probado a hacerlo por la URL pero no lo consigo.
    Muy amables.

  7. #7
    Avatar de alex
    Ubicación
    Toy en Noticias3D
    Edad
    40
    Mensajes
    631

    Predeterminado Re: función .load jquery

    Si ambos ficheros estan en la misma página (en el head), al estilo:
    <script type="text/javascript" src="fichero1.js"></script>
    <script type="text/javascript" src="fichero2.js"></script>

    No hay problema en acceder a las variables de uno u otro fichero siempre que sean globales, es decir, no esten dentro de una función.
    -Alex, Noticias3D member-

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •