Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    15

    problema con ajax e servlet

    function prendiValori(parametro) {
    var ajaxs = assegnaXMLHttpRequest();

    if(ajaxs) {
    var rack=prendiParametro();
    elemento=prendiElementoDaId(parametro);
    ajaxs.open("get", "IOServlet?rack="+rack+"&disp="+parametro, true);

    ajaxs.setRequestHeader("connection", "close");

    ajaxs.onreadystatechange = function() {
    if(ajaxs.readyState === readyState.COMPLETATO) {
    if(statusText[ajaxs.status] === "OK"){

    elemento.innerHTML=ajaxs.responseText;

    }
    else {
    elemento.innerHTML = "Impossibile effettuare l'operazione richiesta.
    ";
    elemento.innerHTML += "Errore riscontrato: " + statusText[ajaxs.status];
    }
    }
    }
    ajaxs.send(null);
    }

    }

    questa e' la funzione in js che fa una chiamata ajax ad una sevlet che restituisce una stringa.
    Quando eseguo la funzione mi dice che e' impossibile effettuare l'operazione richiesta (blocco else) perche lo stato dell'oggetto ajax non e' uguale a OK ma UNDEFINED (questo l'ho scoperto dopo aver fatto un'alert).
    Dove puo' essere il problema???
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    115
    non ho neanche voglia di leggere il codice, ti consiglio vivamente di utilizzare uno dei frameworks più famosi. io personalmente utilizzo prototype perché ci integro scriptaculous, ma molti altri scelgono mootools oppure jquery.

    quello che hai scritto tu diventerebbe (con prototype):

    codice:
    function prendiValori(parametro)
    {
        new Ajax.Updater(parametro, 'IOServlet', {
            parameters: { rack: prendiParametro(), disp : parametro },
            onFailure : function () { elemento.appendChild(new Element('P').update("ERRORE")); }
        });
    }
    questo per facilitarne la lettura, altrimenti la metti:

    codice:
    function prendiValori(parametro) { new Ajax.Updater(parametro, 'IOServlet', { parameters: { rack: prendiParametro(), disp : parametro }, onFailure : function () { elemento.appendChild(new Element('P').update("ERRORE"));}});}

    e neanche te ne accorgi

    BUON LAVORO.
    Macbook 1.3'' v5

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.