Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    ajax: assegnazione di un valore ad una variabile esterna

    ciao mi sapreste aiutare ?

    non riesco ad assegnare una string (importata da un file esterno) alla variabile mesh esterna al costrutto di ajax, perchè ?

    -----
    //questa è la variabile
    var mesh;

    var req = null;
    if (window.XMLHttpRequest){ req = new XMLHttpRequest(); }
    else
    if (window.ActiveXObject) { req = new
    ActiveXObject(Microsoft.XMLHTTP); }

    req.open( "GET", "database.xml", true);
    req.setRequestHeader("Content-Type",
    "application/x-www-form-urlencoded");
    req.send(null);
    ;

    req.onreadystatechange = function()
    {
    if(req.readyState == 4)
    {
    if(req.status == 0) {
    mesh = req.responseText;

    }
    else {
    document.getElementById('received').innerHTML = req.status;
    }

    }
    };

    var aNames = [];
    aNames[0] = mesh;

    ----
    L'array aNames risulta vuoto.
    perchè non riesco a memorizzare il valore di req.responseText, nella
    variabile mesh ?
    grazie, ciao

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    scusa ma non mi sembra avere molto senso, cosi' come attendersi un secondo alert con mondo invece di ciao
    codice:
    var pippo="ciao";
    var arr=[];
    arr[0]=pippo;
    alert(arr[0]);
    pippo="mondo";
    alert(arr[0]);
    x dire che non avrebbe senso neanche se la chiamata fosse sincrona...

  3. #3
    No, ma il mio problema è che, ad esempio nel tuo esempio, non riesco ad assegnare "mondo" alla variabile pippo, se la variabile pippo si trova al di fuori dell'XMLHTTPRequest.

    ad esempio:

    var mesh;
    ...
    ...
    req.onreadystatechange = function()
    {
    if(req.readyState == 4)
    {
    if(req.status == 0) {

    //funziona:
    document.getElementById('received').innerHTML = req.responseText;

    //non funziona:
    mesh= req.responseText;
    }
    ...
    ...
    // non funziona
    document.getElementById('received').innerHTML = mesh;

    e più precisamente, anzichè comparmi il testo del file esterno, mi compare nell'HTML: "[object HTMLParagraphElement]"

    devo forse inserire tutto il mio codice javascript in un'unico grande oggetto XMLHTTPRequest ?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.