Problemi con Ajax

Ciao,

mi scuso se ho sbagliato a postare qui il mio problema....

ho una pagina con un form che all'evento onSubmit chiama una funzione getCliente()

questa funzione e' identica a sndReq(action) funzione che avete pubblicato sul vostro articolo ajax in pratica.

anche tutte le altre funzioni sono identiche eccetto handle che invece di fare

document.getElementById(update[0]).innerHTML = update[1];

modifica il valore di un campo hidden di un form

il problema e' che all'onSubmit javascript mi genera errore

Autorizzazione negata

La url che imposto riesco a raggiungerla da browser senza problemi.....quale potrebbe essere la causa?

spero di essermi spiegata

grazie e ciao

inviato 10 anni fa
purpitta
X 0 X

Come ricevi il messaggio di errore?

riporta il javascript

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

ciao,

il messaggio d'errore mi appare in una popup quando clicco sul tasto continua del forum...quindi da browser

inserisco di seguito il form e il file ajax.js

<?php
function conferma_scuola($page, $classe, $fz)
{
  $campi = array();
  if( isset($_POST["codicescuola"]) ) $campi[] = "codicescuola";
 if( isset($_POST["classe"]) ) $campi[] = "classe";
?>  
  <form name="form" action="<?php echo $page; ?>" method="POST" onSubmit="javascript: getCliente();">
 <input type="hidden" name="classe" value="<?php echo $classe; ?>">
 <input type="hidden" name="fz" value="<?php echo $fz; ?>"><br>
 <input type="hidden" name="cliente" value="0"><br>
<?php
  conferma($campi);
?>
  <br><input type="submit" value="Conferma">&nbsp;&nbsp;
  <input type="button" value="Annulla" onClick="javascript: location.href('../../../index.php');">
  </form>
<?php
 }
?>
function getFormValues()
{
var i = 0;
var str = "";

for(i=0; i<document.form.elements.length; i++)
{
var elemento = document.form.elements[i];
  
  if( document.form.elements[i].type == "select-one" )
  {
    str1 = document.form.elements[i].name+"="+document.form.elements[i].value+"&";
  str += str1;
 }
 }

return str.substr(0,(str.length - 1));
}

/* La seguente funzione crea un oggetto XMLHttpRequest...*/
function createRequestObject()
{
var request_o; //dichiara la variabile che conterra' l'oggetto
var browser = navigator.appName; //trova il nome del browser
if( browser == "Microsoft Internet Explorer" )
{
/* Create the object using MSIE's method */
request_o = new ActiveXObject("Microsoft.XMLHTTP");
}
 else
 {
/* Create the object using other browser's method */
request_o = new XMLHttpRequest();
}
return request_o; //restituisce l'oggetto
}

var id = "regione"; // La variabile id conterra' il nome della select da riempire
/* La variabile http conterra' l'oggetto XMLHttpRequest */
var http = createRequestObject(); 

/* Funzione chiamata per prendere la lista delle province e/o dei comuni */
function getComuni(scelta,host)
{
 http = createRequestObject(); 
 var method = "POST";
 var url = "http://"+host+"/scuoleitaliane/lib/response.php";
 var comune = document.form.elements["comune"];
text = comune.options[0].text;
comune.length = 0;
comune.options[0] = new Option(text,'none');

var provincia = document.form.elements["provincia"];
var i = provincia.selectedIndex;
if( ( scelta == "regione" ) || ( scelta == "provincia" && provincia.options[i].value == "none") )
{
text = provincia.options[0].text;
provincia.length = 0;
provincia.options[0] = new Option(text,'none');
id = "provincia";
}
else if( scelta == "provincia" && provincia.options[i].value != "none") id = "comune";

var params = getFormValues();
 /* 
Crea la richiesta. Il primo argomento della funzione open e' il metodo (POST/GET),
e il secondo argomento e' l'url...
il documento contenente il riferimento a tutti gli oggetti nella pagina
Possiamo riferire document.form.regione 
riferendo cosi il menu a discesa. La proprieta' selectedIndex ci dara' 
l'indice dell'oggetto selezionato
*/
http.open(method, url, true);
/* Definisce una funzione da chiamare quando la risposta e' stata ricevuta. Funzione definita 
successivamente che funge da gestore */
http.onreadystatechange = handleComuni; 
/* Viene usato solo se si usa il metodo POST. Setta l'header della richiesta HTTP */
http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); 
/* Spedisce i dati. Se si usa il metodo get il parametro e' null. 
Se si usa il metodo POST str contiene i valori del form nella forma di query string */
http.send(params);
}

/* Funzione chiamata per gestire la risposta inviata dal file inserisciScuola.php */
function handleComuni()
{
/* Occorre essere certi che la transazione sia finita. L'oggetto XMLHttpRequest 
ha una proprieta' chiamata readyState che indica parecchi "stati":
0: Uninitialized
1: Loading
2: Loaded
3: Interactive
4: Finished */
if(http.readyState == 4) //Ha finito di ricevere la risposta
{ 
 /* Abbiamo ricevuto la risposta dallo script server-side,
Vediamo cosa e' usando la proprieta' dell'oggetto XMLHttpRequest
responseText 
*/
 var response = http.responseText; 
 var opt = new Array();
 
  if( response != "" ) 
  { 
      opt = response.split('|'); 
      var i = 0; 
      var newElem;
    
/* E ora vogliamo aggiungere le option alla select id.
    Lo facciamo usando il metodo add(elemento,posizione) 
posizione=-1 indica che gli elementi vanno inseriti in coda
*/
      for(i=0; i<opt.length; i++)
      {
        newElem = document.createElement("option");
        if( opt[i].indexOf('/') != -1 )
        {
         var opt_value = new Array();
         opt_value = opt[i].split('/');
         newElem.text = opt_value[1]; 
         newElem.value = opt_value[0];
        } 
        else
        {
         newElem.text = opt[i];
         newElem.value = opt[i]; 
        }
        document.getElementById(id).add(newElem, -1);
      }
  }
  http = null;
}
}
/* Funzione chiamata per verificare se la sucola e' cliente o no */
function getCliente()
{
 http = createRequestObject(); 
 var method = "GET";
 var url = "http://151.9.147.6/checkscuola.asp?codmin="+escape(document.form.codiceministeriale.value);
 alert(url);
 /* 
Crea la richiesta. Il primo argomento della funzione open e' il metodo (POST/GET),
e il secondo argomento e' l'url...
il documento contenente il riferimento a tutti gli oggetti nella pagina
*/
http.open(method, url, true);
/* Definisce una funzione da chiamare quando la risposta e' stata ricevuta. Funzione definita 
successivamente che funge da gestore */
http.onreadystatechange = handleCliente; 
 /* Spedisce i dati. Se si usa il metodo get il parametro e' null. 
Se si usa il metodo POST str contiene i valori del form nella forma di query string */
http.send(null);
}

/* Funzione chiamata per gestire la risposta inviata dal file inserisciScuola.php */
function handleCliente()
{
/* Occorre essere certi che la transazione sia finita. L'oggetto XMLHttpRequest 
ha una proprieta' chiamata readyState che indica parecchi "stati":
0: Uninitialized
1: Loading
2: Loaded
3: Interactive
4: Finished */
if(http.readyState == 4) //Ha finito di ricevere la risposta
{ 
 /* Abbiamo ricevuto la risposta dallo script server-side,
Vediamo cosa e' usando la proprieta' dell'oggetto XMLHttpRequest
responseText 
*/
 var response = http.responseText; 
 alert(response);
 var opt = new Array();
  if( response != "" ) 
  { opt = response.split('|'); 
     /* E ora vogliamo aggiungere le option alla select id.
    Lo facciamo usando il metodo add(elemento,posizione) 
  posizione=-1 indica che gli elementi vanno inseriti in coda
  */
  
     //document.form.cliente.value=response;
     document.form.cliente.value=opt[1];
   }
   http = null;
 }
}
risposto 10 anni fa
purpitta
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda