Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1

    XMLhttpRequest.open help!

    salve a tutti,
    sono nuovo nuovo volevo sapere se qualcuno sa se nel parametro URL della open è possibile oltre che passare una pagina php o asp (penso) .... se si puo passare anche direttamente un file contenente documento XML ? grassie a tutti

  2. #2

    Re: XMLhttpRequest.open help!

    Originariamente inviato da simoneman
    nel parametro URL della open si puo passare anche direttamente un file contenente documento XML ?
    non per fare il guasta domande ... ma è nato esattamente per questo scopo


    come da titolo ... XMLHttpRequest ... dove http è solo il tipo di protocollo usato, quindi stringendo Ajax è una XMLRequest
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #3

    mmmm

    azz ti avevo beccato anche sull'altra discussione con flesciato .. lo so hai ragione ma a questo punto passo alla domanda successiva ... ho fatto esattamente questo il problema è che quando arrivo a controllare xmlhttprequest.status lo stato è 0 ZERO mentre dovrebbe essere 200 giusto? :master:

  4. #4
    devi controllare il readyState ... poi lo stato, stai facendo confusione, consiglio la lettura della guida

    http://javascript.html.it/guide/leggi/95/guida-ajax/
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  5. #5

    la funzione

    codice:
    		function handleResponse(req, XMLHandler){
    
    		return function(){
    			//Controllo se l'oggetto req ha raggiunto lo stato finale
    			if(req.readyState == 4){
    				//Inoltre accertiamoci di aver ottenuto il messaggio 200 dal server,
    				if (req.status == 200){
    					//A questo punto richiamo la funzione che gestira' il risultato XML
    					XMLHandler(req.responseXML);
    				}else{
    					alert("Errore HTTP: " + req.status);
    				}
    			}
    		}
    	}
    questa è la funzione scritta.
    req var di xmlhttprequest
    Dove handleResponse è la funzione passata a req.onreadystatechange = handleResponse(req, ElaboraRisultatoXML);

  6. #6

    Re: la funzione

    Originariamente inviato da simoneman
    questa è la funzione scritta ...
    bene ... e quale sarebbe il problema riscontrato ? se scrivessi tutta la parte inerente la chiamata forse sarebbe meglio ...

    P.S. potresti gentilmente evitare di intrometterti in tutti i 3D per chiedere di guardare il tuo problema ? ... non è più importante di altri e non ha alcuna priorità, è solo cross-posting fastidiosissimo ... lo dico per te ...
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  7. #7

    ecco il codice

    si scusa per i post ma li avevo postati sempre all'inizio.

    qui di seguito riporto quello che sto provando a testare:

    principale.html

    <QUOTE>
    <html>

    <script type="text/javascript">

    function newXMLHttpRequest(){
    alert("ciao2");
    var xmlreq = false;

    //Controllo il tipo di oggetto XMLHttpRequest da utilizzare
    if(window.XMLHttpRequest){
    //Per browser non Microsoft
    xmlreq = new XMLHttpRequest();
    }else if(window.ActiveXObject){
    //Cerco di creare l'oggetto via MS ActiveX
    try{
    //Nuove versioni per browser IE
    xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
    }catch(e1){ //Errore riscontrato durante la creazione dell'oggetto
    try{
    //Precedenti versioni per browser IE
    xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
    }catch(e2){ //Nuovo errore durante la creazione dell'oggetto
    xmlreq = false;
    }
    }
    }
    //Restituisco l'eventuale oggetto XMLHttpRequest
    return xmlreq;
    }




    function Carica(){
    alert("ciao1");
    //Creo un nuovo oggetto XMLHTTPRequest
    var req = newXMLHttpRequest();

    //Invio la richiesta
    //open( metodo, URL, async )
    req.open("POST", "datitest.xml", true);
    req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

    //Invio i dati POST
    req.send("choice=parametrotest");

    //Gestore dell'evoluzione dello stato dell'oggetto req
    req.onreadystatechange = handleResponse(req, ElaboraRisultatoXML);
    }


    /*
    * Ritorna una funzione per la gestione dello stato dell'oggetto req.
    * Ed infine a stato finale raggiunto, invia la risposta XML alla funzione che dovra' gestire il tutto.
    * reg = Istanza XMLHTTPRequest
    * XMLHandler = nome della funzione a cui passare il risultato XML da gestire
    */
    function handleResponse(req, XMLHandler){
    alert("ciao3" + req.readyState + req.status);
    return function(){
    //Controllo se l'oggetto req ha raggiunto lo stato finale
    if(req.readyState == 4){
    //Inoltre accertiamoci di aver ottenuto il messaggio 200 dal server,
    if (req.status == 200){
    //A questo punto richiamo la funzione che gestira' il risultato XML
    XMLHandler(req.responseXML);
    }else{
    alert("Errore HTTP: " + req.status);
    }
    }
    }
    }

    function ElaboraRisultatoXML(XMLResult){...}//qui non ci arrivo .. quando ci arrivo ci pensero
    </QUOTE>

    datitest.xml
    <QUOTE>
    <root>
    <dato>
    dato da recuperare test!
    </dato>
    </root>

    </QUOTE>
    in pratica essendo un file html che esegue solo javascript dovrei essere in grado di eseguire il tutto semplicemente in locale sul mio pc senza bisogno di niente altro che il mio brousero giusto?

    PS come faccio a mettere il codice differenziato??? :master:

  8. #8

    aggiungo

    ho ricevuto questa risposta dalla funzione handleresponse: 405 Method Not Allowed The method specified in the request is not allowed

    vuol dire che ho usato un metodo non permesso .. o meglio passato qualche paramentro alla cavolicchio?

  9. #9

    Re: ecco il codice

    a parte che della guida non c'è niente ... nemmeno la funzione per creare l'oggetto è simile ... comunque sia ...

    Originariamente inviato da simoneman
    ...
    in pratica essendo un file html che esegue solo javascript dovrei essere in grado di eseguire il tutto semplicemente in locale sul mio pc senza bisogno di niente altro che il mio brousero giusto?
    errato, come ho già detto la chiamata è una Request XML basata sul protocollo http, quindi è assolutamente indispensabile passare per webserver perchè da files non funzionerà mai.

    A questo aggiungo che inviare una variabile post ad un XML non serve a niente ... dato che se è veramente un XML non sarà in grado di gestirla ...




    Originariamente inviato da simoneman
    PS come faccio a mettere il codice differenziato??? :master:
    che cosa è il codice differenziato ? ... rimando nuovamente alla guida ajax linkata sopra ..
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  10. #10

    ora provo

    ok quindi non posso passare direttamente un xml ora provo a passare una pagina aspx .. scusa non sapevo come definire il codice che devo scrivere qui nel forum per differenziarlo dalle frasi ... per farlo apparire come CODICE e non come il testo di una frase scritta

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.