AJAX Problem mit Sonderzeichen
Frankiiii
- javascript
Hallo ich habe ein Problem.
Ein Skript holt mir alle Datenbankeinträge die anfangen wie ein bestimmter String:
/*
* Request erzeugen
*/
function getReq(){
var req = null;
try{
req = new XMLHttpRequest();
} catch (ms){
try{
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch (nonms){
try{
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed){
req = null;
}
}
}
if (req == null) alert("Error creating request object!");
return req;
}
function showText(e){
if(e.length >= 2){
var req = getReq();
req.open("POST", "text/getText/" + e, true);
req.onreadystatechange = function(){
switch(req.readyState) {
case 4:
if(req.status!=200) {
alert("Fehler:"+req.status);
}else{
document.getElementById("thetext").innerHTML=req.responseText return true;
}
break;
default:
return false;
break;
}
};
req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
req.send(null);
}
}
Der Aufruf erfolgt dann über:
<input type='text' onkeyup=\"showText(this.value)\" id='Category' />
<ul id='text'></ul>
text.php:
public function getText($textid){
$sql="SELECT text FROM texte WHERE text LIKE '".$textid."%' LIMIT 10";
$result=mysql_query($sql);
return $result;
}
So in etwa sieht das ganze aus. Nur es tritt ein Fehler auf sobald ich ein Sonderzeichen verwende: ä,ö,ü,ß, , ....
Woran liegt das?
Gruß, Frankiiii
Hi,
So in etwa sieht das ganze aus. Nur es tritt ein Fehler auf sobald ich ein Sonderzeichen verwende: ä,ö,ü,ß, , ....
Woran liegt das?
Am fehlerhaften Umgang mit der Zeichenkodierung. (Übrigens keinesfalls ein neues Problem, mal gesucht?)
Die Behandlung des Wertes mit encodeURIComponent sollte helfen.
MfG ChrisB
Hi.
Die Behandlung des Wertes mit encodeURIComponent sollte helfen.
Sorry vergessn zu erwähnen:
"/text/getText/" + encodeURIComponent(e)
und
encodeURIComponent("/text/getText/" + e)
Habe ich schon probiert!
Es klappt nicht.. es wird mit X mal fehler 404 angezeigt.