# AJAX POST onreadystatechange



## port29 (21. Mai 2006)

Hallo,

ich würde gerne ein Formular per POST an den Server senden, aber leider funktioniert das ganze nicht im IE. Unter Firefox klappt das aber ohne Probleme. 


```
function makeRequest(url,frm) {

                http_request = false;
                
                if(!frm) frm=0;

                if (window.XMLHttpRequest) { // Mozilla, Safari,...
                    http_request = new XMLHttpRequest();
                    if (http_request.overrideMimeType) {
                        http_request.overrideMimeType('text/xml');
                    }
                } 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('Giving up :( Cannot create an XMLHTTP instance');
                    return false;
                }
                http_request.onreadystatechange = refreshCal;
                http_request.open('POST', url, true);
                http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
                http_request.send(getFormElements(frm));

            }
```

Wie es aussieht, scheint das Problem an dem readyState zu liegen, der sich aus irgendeinem Grund nicht ändern will, wenn ich das Formular per POST rausschicke. Wende ich hingegen GET an, dann funktioniert das ganze ohne Probleme. Hat da jemand eine Idee, worans liegen kann und wie man das zum Laufen bringt?

Der Status ist beim IE permanent =1


----------



## ju2999 (27. Mai 2006)

Vielleicht in dieser Reihenfolge?

http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
http_request.onreadystatechange = refreshCal;
http_request.open('POST', url, true);
http_request.send(getFormElements(frm));


----------



## port29 (27. Mai 2006)

Es ist eine Schlechte Idee den Typen des Formulars bei einer geschlossenen Verbindung zu setzen...


----------

