AJAX probleme mit dem Content-Type
    
steve_M
    
    
      
    
  - javascript
 nicht angemeldet
 nicht angemeldetHi ich habe folgendes problem:
ich setze ein Request ab. Nun bekomme ich alle ß als ? zurück geliefert.
meine Frage ist nun, wie änder ich den Content-Type?
Das Script (sehr nett übrings):
<script type="text/javascript" language="javascript">
    var http_request = false;
    function macheRequest(url,IdUbergabe) {
        http_request = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/xml');
                // zu dieser Zeile siehe weiter unten
            }
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }
if (!http_request) {
            alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
            return false;
        }
        Id_Ubergabe = IdUbergabe;
        http_request.onreadystatechange = function() {
         if (http_request.readyState == 4) {
              if (http_request.status == 200) {
                  document.getElementById(Id_Ubergabe).innerHTML = http_request.responseText;
              } else {
                  alert('Bei dem Request ist ein Problem aufgetreten.');
              }
}
}
http_request.open('GET', url, true);
        http_request.send(null);
}
</script>
echo $begrüßung;
ich setze ein Request ab. Nun bekomme ich alle ß als ? zurück geliefert.
Das deutet darauf hin, dass der Server ISO 8859-1 liefert, AJAX aber UTF-8 erwartet.
echo "$verabschiedung $name";
echo $begrüßung;
ich setze ein Request ab. Nun bekomme ich alle ß als ? zurück geliefert.
Das deutet darauf hin, dass der Server ISO 8859-1 liefert, AJAX aber UTF-8 erwartet.
echo "$verabschiedung $name";
Okay, du warst schneller ;)
Du solltest die Dateien die per Link eingeladen werden (die Dateien deren Name an die JS Funktion mit URL übergeben wird) ein Header setzen.
z.B.
header('Content-Type: text/html; charset=iso-8859-1');
echo $begrüßung;
ich setze ein Request ab. Nun bekomme ich alle ß als ? zurück geliefert.
Das deutet darauf hin, dass der Server ISO 8859-1 liefert, AJAX aber UTF-8 erwartet.
echo "$verabschiedung $name";
Okay, du warst schneller ;)
Du solltest die Dateien die per Link eingeladen werden (die Dateien deren Name an die JS Funktion mit URL übergeben wird) ein Header setzen.
z.B.
header('Content-Type: text/html; charset=iso-8859-1');
Okay es muss im Script ersetzt werden:
Aus...
http_request.overrideMimeType('text/html')
wird...
http_request.overrideMimeType('text/html;charset=iso-8859-1')