Originariamente inviato da andr3a
sei sicuro in dinviare con rawurlencode ? ... da server a JS non c'è bisogno di encodare di solito ... al limite scrivi il tutto con utf8_encode perima di inviarglielo.
ehm...non ho mica capito tanto bene...allora io ho lo script ajax:
Codice PHP:
function myHandler(div) {
if (myRequest.readyState == 4 && myRequest.status == 200) {
e = document.getElementById(div);
e.innerHTML = decodeURIComponent(myRequest.responseText);
}else{
e = document.getElementById(div);
e.innerHTML = 'Caricamento Dati...';
}
}
//[...tralascio il CreateXmlHttpReq...]
function Ricerca(x, div){
var Search = document.getElementById('TxtSrc').value;
var r = Math.random();
myRequest = CreateXmlHttpReq(function() {myHandler(div)});
myRequest.open("GET","pagina.php?cosa="+encodeURIComponent(x)+"&r="+encodeURIComponent(r)+"&ricerca="+encodeURIComponent(Search));
myRequest.send(null);
}
e nella pagina php prendo i dati così:
Codice PHP:
$ricerca=$_GET["ricerca"];
//[..scartiamo le query estrazione a db che quelle funzionano...]
//esempio di risultato da stampare
$result="<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
<tr>
<td>Pippo</td>
<td>Verdi</td>
</tr>
<tr>
<td>Mario</td>
<td>Bianchi</td>
</tr>
</table>";
echo $result;
//echo utf8_encode($result);
in quel echo finale ho provato a mettere anche 'echo utf8_encode($result);' ma niente, nella pagina con la funzione ajax myHandler mi dà sempre errore 'malformed URI sequence' qui:
e.innerHTML = decodeURIComponent(myRequest.responseText);