Telefonino.net network
 
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. NEI PREFERITI .:: | RSS Forum | RSS News | NEWS web | NEWS software |
| PUBBLICITA' | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | CERCA nel FORUM » |

Torna indietro   WinTricks Forum > Software > Programmazione

Notices

Rispondi
 
Strumenti discussione
Vecchio 17-02-2007, 17.37.34   #1
realtebo
Forum supporter
 
L'avatar di realtebo
 
Registrato: 11-07-2003
Messaggi: 1.843
realtebo promette bene
[ajax] FF Ok, Ie7: "readyState è nullo o non è un oggetto"

Questa volta il problema è un poco più complesso...

lo script AJAX gira senza problemi in FF, ma sotto IE mi viene arcidetto che "readyState o è nullo o non è un oggetto".

Creo così l'oggetto richiesta (ok, un po spartano, però ditemi SE è qua il problema...)

Codice:
  var Ajax = false;
  if (window.ActiveXObject) {
    Ajax = new ActiveXObject("Microsoft.XMLHTTP");
  } else if (window.XMLHttpRequest) {
    Ajax = new XMLHttpRequest();
  }
e così cerco di usarlo... (e, ripeto: in FF funziona)

Codice:
 
  Ajax.open(metodo, pagina);
  if (metodo=="POST" ) {
    Ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  }  
  Ajax.setRequestHeader("Content-length", datiPost.length);  
  Ajax.setRequestHeader("Connection", "close");    
  var Esito = "";
  Ajax.onreadystatechange = function() { 

*   if (Ajax.readyState == 4 && Ajax.status == 200) { 
      OkFunc(Ajax.responseText);
    } else if (Ajax.readyState == 4 && Ajax.status != 200) {
      NoFunc(Ajax.status);
    } else {
      WaitFunc(Ajax.readyState);  
    }
  }
  Ajax.send(datiPost);   
  Ajax = null ;
Si accettano ogni forme di suggerimenti, tenete conto che la pagina vien *sempre* fornita, il server non ha mai fallito un tentativo di recupero, e il metodo usato per i dati è "POST"

L'errore mi si presenta alla riga con l'asterisco '*'
___________________________________

Realtebo
realtebo non è collegato   Rispondi citando
Vecchio 17-02-2007, 18.37.07   #2
Semi.genius
Guest
 
Messaggi: n/a
In teoria da quanto avevo letto, ReadyState non è accessibile da Internet Explorer quindi una soluzione non c'è... ma è meglioc he aspetti qualcuno di più esperto
  Rispondi citando
Vecchio 17-02-2007, 20.08.10   #3
P8257 WebMaster
Gold Member
 
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
P8257 WebMaster promette bene
Prova a scriverlo in maiuscolo: READYSTATE .. Internet Explorer esporta questo genere di contenuti come constanti, ff li tratta come proprietà.. vedi se così funziona, altrimenti ci sono alternative.

P.S.: usa l'oggetto navigator per differenziare i 2 tipi di codice che ingloberai entrambi nello script.
P8257 WebMaster non è collegato   Rispondi citando
Vecchio 17-02-2007, 20.11.23   #4
P8257 WebMaster
Gold Member
 
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
P8257 WebMaster promette bene
Errata Corrige ..:

Codice:
Ajax.ReadyState
prova così
P8257 WebMaster non è collegato   Rispondi citando
Vecchio 19-02-2007, 10.22.16   #5
realtebo
Forum supporter
 
L'avatar di realtebo
 
Registrato: 11-07-2003
Messaggi: 1.843
realtebo promette bene
sono lontano dal pc di programmazione, grazie intanto... proverò i vari suggerimenti

una cosa solo non capisco:

Quota:
>P.S.: usa l'oggetto navigator per differenziare i 2 tipi di codice che ingloberai entrambi nello script.
cosa vuol dire? Scusate la mia non-esperienza, ma cos'è l'oggetto navigator e a quali 2 tipi di codice ti riferisci ?
___________________________________

Realtebo
realtebo non è collegato   Rispondi citando
Vecchio 19-02-2007, 10.30.52   #6
P8257 WebMaster
Gold Member
 
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
P8257 WebMaster promette bene
L'oggetto "navigator" contiene informazioni sul browser del client .. attraverso la lettura delle sue prorpietà, in particolare "appVersion", puoi recuperare la versione del browser usato dal client, quindi puoi adattare il tuo codice a seconda del browser che lo utilizza.

http://www.javascriptkit.com/javatutors/navigator.shtml
P8257 WebMaster non è collegato   Rispondi citando
Vecchio 19-02-2007, 12.55.59   #7
realtebo
Forum supporter
 
L'avatar di realtebo
 
Registrato: 11-07-2003
Messaggi: 1.843
realtebo promette bene
gasp, peccato che ne ReadyState ne READYSTATE mi danno risultati...

Quello che mi chiedo è: Se viene lanciato l'evento onstatechange , vuol dire che l'oggetto Ajax è davvero in funzione, giusto? Per cui mi aspetto che le proprietà dell'ActiveX sia reperibili, .... forse con IE7 ha cambiato nome qualche proprietà?
___________________________________

Realtebo
realtebo non è collegato   Rispondi citando
Vecchio 19-02-2007, 13.19.09   #8
P8257 WebMaster
Gold Member
 
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
P8257 WebMaster promette bene
Senti ma quell'asterisco che c'é sulla riga dello script è un errore di copia che c'é solo qui vero ?
P8257 WebMaster non è collegato   Rispondi citando
Vecchio 19-02-2007, 13.22.15   #9
P8257 WebMaster
Gold Member
 
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
P8257 WebMaster promette bene
Comunque controlla lo script, a me funziona tranquillamente, ho buttato giù due righe di prova, mi dà ovviamente 0 perché non ho sottoposto del contenuto all'oggetto, ma almeno lo legge, quindi secondo me c'é qualche errore di sintassi...

Codice:
<html>
<head>
<script language="javascript">
   
  function Test()
  {
  alert("begin");
  var Ajax = false;
  if (window.ActiveXObject) {
    Ajax = new ActiveXObject("Microsoft.XMLHTTP");
  } else if (window.XMLHttpRequest) {
    Ajax = new XMLHttpRequest();
  } 

  alert(Ajax.readyState);
  }
  
</script>
</head>

<body onload="javascript:Test();">

</body>
</html>
P8257 WebMaster non è collegato   Rispondi citando
Vecchio 19-02-2007, 18.39.26   #10
realtebo
Forum supporter
 
L'avatar di realtebo
 
Registrato: 11-07-2003
Messaggi: 1.843
realtebo promette bene
allora, credo di avere tutte le risposte:

a) l'asterisco è li solo per indicare la riga dove c'è l'errore, ovviamente nello script non c'è

b) la causa è quel fantastico Ajax=null in fondo allo script. Mentre FF non esegue la garbage collection finché l'oggetto non ha finito il ciclo di vita, IE7 (il 6 non lo fa) lo canna subito, quindi, giustamente, mi dice che l'oggetto non esiste.

c) la sintassi, come da voi giustamente rilevata, era CORRETTA, va benissimo scritto readyState come capitalizzazioni.
___________________________________

Realtebo
realtebo non è collegato   Rispondi citando
Vecchio 19-02-2007, 18.47.21   #11
P8257 WebMaster
Gold Member
 
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
P8257 WebMaster promette bene
Quota:
Inviato da realtebo
allora, credo di avere tutte le risposte:


b) la causa è quel fantastico Ajax=null in fondo allo script. Mentre FF non esegue la garbage collection finché l'oggetto non ha finito il ciclo di vita, IE7 (il 6 non lo fa) lo canna subito, quindi, giustamente, mi dice che l'oggetto non esiste.
Non può essere avvenuta una cosa del genere, perché tu l'oggetto lo usi praticamente fino alla fine dello script, quindi non può essere dereferenziato e dare un errore a metà dello script stesso. Altro motivo è che nei linguaggi interpretati il GC funziona in modo diverso; ne è la prova il fatto che ho rimesso la riga "Ajax = null" e lo script di esempio che ho postato continua comunque a funzionare.

Sulla capitalizzazione hai ragione, ho detto io una caxxata...

Felice di sapere che hai risolto comunque
P8257 WebMaster non è collegato   Rispondi citando
Vecchio 19-02-2007, 19.16.25   #12
realtebo
Forum supporter
 
L'avatar di realtebo
 
Registrato: 11-07-2003
Messaggi: 1.843
realtebo promette bene
spiacente, appena riprovato con lo script sul server. rimettendo Ajax = null Ie7 va in palla, mentre FF2 no. ie6 non l'ho + per cui non posso sperimentare, ma grazie a Dio lo script in questione è per la mia rete interna, 60% FF2, 35% IE7 , 5% Netscape 2 (
___________________________________

Realtebo
realtebo non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
[Ajax]: chi lo conosce? allnaz Programmazione 2 01-07-2007 00.10.17
[Ajax] - .status e Firefox 2 realtebo Programmazione 4 17-02-2007 17.27.44
[AJAX] vs. Libreria / tool preferito realtebo Programmazione 0 17-01-2007 11.53.11
[C] Segmentation fault Manugal Programmazione 49 30-03-2006 20.17.22
cercare una chiave con valore nullo! xmatrix83 Windows 9x/Me/NT4/2000 8 05-05-2005 00.55.01

Orario GMT +2. Ora sono le: 18.13.23.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.