Salve ho 1 problema con Ajax. Provo ad essere piu chiaro possibile
Ho una pagina html che include uno script javascript remoto.
Nello script ci sono 2 funzioni ajax che caricano rispettivamente le province d'italia a seconda della regione selezionata e le città d'italia a seconda della provincia selezionata.
In pratica il processo è semplice. Da un menu a discesa si seleziona una regione, sull'evento onchange di questo menu viene invocata la funziona di caricamento delle province (province nel codice allegato sotto) che carica un secondo menu a discesa.
Ora il problema è questo. Ho provato lo script in locale e internet explorer dopo la selezione della regione mi dice che il contenuto della pagina sta per essere inviato a etc etc e mi chiede di confermare, dopo questa conferma vedo le province che popolano il secondo menu a discesa. Per quanto sgradevole il messaggio comunque pare funzionare. Quando vado a pubblicare il tutto on line (su un sito non locale quindi) non funziona e non mi viene inviato nessun messaggio di notifica. Quale potrebbe essere il problema?
Do una indicazione. Non è possibile che il client web consenta l'inclusione dello script remoto ma blocchi le successive chiamate a url diverse da quelle di origine?
Per spiegare quanto ho detto allego un frammento dello script remoto
Lo script vieni incluso nella pagina in questo modo
<script src="http://www.miosito.it/mioscript.php">
</script>
Il frammento di codice è il seguente
var jsUrl="http://www.miosito.it/";
/*************************************
Funzione che apre la connessione verso il server
*************************************/
var myRequest = null;
function CreateXmlHttpReq(handler) {
var xmlhttp = null;
try {
xmlhttp = new XMLHttpRequest();
} catch(e) {
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
xmlhttp.onreadystatechange = handler;
return xmlhttp;
}
/**********************************************
Funzione che carica il menu a discesa della pagina chiamante
**********************************************/
function caricaProvince() {
if (myRequest.readyState == 4 && myRequest.status == 200) {
if (myRequest.responseText!=""){
document.getElementById('content_provincia').inner HTML = myRequest.responseText;
} else {
document.getElementById('content_provinciae').inne rHTML = '';
}
}
}
/*****************************************
Funzione che invoca il popolamento del menu a discesa
*****************************************/
function province(valoreDefault,idregionel){
var thisurl;
myRequest = CreateXmlHttpReq(caricaProvince);
thisurl=jsUrl+"caricaProvince.php?idregione="+idre gione+"&defaut="+valoreDefault;
myRequest.open("GET",thisurl); //In questo punto viene invocata l'apertura di una url diversa da quella del client e second me è qui che si blocca il processo
myRequest.send(null);
}
Ringrazio anticipatamente colore che vorranno cimentarsi col problema e propormi qualche soluzione.
N.B. Ho già provato la soluzione in cui sia pagina html sia script risiedano sullo stesso sito e funziona perfettamente ma per il tipo di progetto che devo fare non posso assumere che lo script sia residente sul sito del cliente ma sia sviluppato altrove

Rispondi quotando