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
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
non per fare il guasta domande ... ma è nato esattamente per questo scopoOriginariamente inviato da simoneman
nel parametro URL della open si puo passare anche direttamente un file contenente documento XML ?![]()
come da titolo ... XMLHttpRequest ... dove http è solo il tipo di protocollo usato, quindi stringendo Ajax è una XMLRequest![]()
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:
devi controllare il readyState ... poi lo stato, stai facendo confusione, consiglio la lettura della guida![]()
http://javascript.html.it/guide/leggi/95/guida-ajax/
questa è la funzione scritta.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); } } } }
req var di xmlhttprequest
Dove handleResponse è la funzione passata a req.onreadystatechange = handleResponse(req, ElaboraRisultatoXML);
bene ... e quale sarebbe il problema riscontrato ? se scrivessi tutta la parte inerente la chiamata forse sarebbe meglio ...Originariamente inviato da simoneman
questa è la funzione scritta ...
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 ...
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:
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?
a parte che della guida non c'è niente ... nemmeno la funzione per creare l'oggetto è simile ... comunque sia ...
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.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?
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 ...
che cosa è il codice differenziato ? ... rimando nuovamente alla guida ajax linkata sopra ..Originariamente inviato da simoneman
PS come faccio a mettere il codice differenziato??? :master:
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![]()