Immaginiamo di avere una stringa contenente un URL nel quale i parametri della query string sono separati, invece che da '&', da '&'
(per il momento sorvolerei sui motivi di ciò...)
Ad es.
Dove però, attenzione, par1 e par2 sono DUE parametri distinti!!codice:var stringa = 'http://nomeServer/pagina.jsp?par1=X&par2=y';
Ora, se io passo quella stringa al location.href, il server riceve la query string correttamente:
Sulla barra dell'indirizzo del browser compare:codice:document.location.href = stringa;
http://nomeServer/pagina.jsp?par1=X&par2=y
Se invece uso quella stringa per fare una chiamata asincrona, l'entità html non viene decodificata...
In questo caso al server la query string arriva con l'entità html invariata, il che non permette di riconosce par2 come parametro distinto. Ovviamente in questa situazione non appare nulla sulla barra dell'indirizzo, ma attraverso una serie di test sono riuscito a capire che questo è ciò che accade.codice:var ajax = new XMLHttpRequest(); ajax.open('GET', stringa, true); ajax.send(null);
Ora, la domanda è: a cosa è dovuta questa differenza? Qual è la funzione da richiamare per decodificare le entità html dalla stringa che mi serve?
P.S. Il comportamento è verificato con IE 6.0. Al momento non sono in grado di effettuare prove con altri browser


)
Rispondi quotando
