Ciao, ho uno strano problema con i dati ricevuti da una richiesta ajax.
In pratica ho una pagina php che elabora dei dati, e in caso di errore, mi restituisce la stringa
codice:
err*messaggio di errore
In questo modo, con la funzione substr, verifico se nei dati ricevuti, i primi 4 caratteri corrispondono a err*, e in tal caso stampo a video l'errore invece dei dati corretti.
La funzione substr richiamata in questo modo:
codice:
dati = ajax.responseText;
dati.substr(0,4)
dovrebbe restituirmi i primi 4 caratteri partendo da 0, cioè err*, invece cio che ottengo è "err".
Ho provato quindi a visualizzare il solo carattere alla posizione 0 in questo modo:
codice:
dati = ajax.responseText;
dati.substr(0,1)
E non mi stampa a video niente!
A quanto pare la stringa ricevuta da ajax contiene un carattere nullo alla posizione 0.
Ho controllato anche la pagina php che genera i dati, e non ho trovato niente di strano.
Il problema è facilmente risolvibile, perche mi basta modificare la funzione in questo modo: dati.substr(1,4) ma io vorrei capire perchè succede questo!
Come mai all'inizio della stringa compare un carattere nullo? (non è uno spazio, ho provato a stamparlo tra 2 parole ma non vedo nulla)
Il problema si verifica sia con firefox che con explorer.