JavaScript AJAX daten via POST senden

ich möchte mit AJAX ein Formularfeld via POST absenden und auf dem Server die Daten auslesen und in eine DB schreiben.

Innerhalb des Formularfeldes kann HTML-Code stehen.
Jetzt mein Problem.

Hier mein AJAX-Code

var req;
var target;
var isIE;

function initRequest(url) {
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
} else if (window.ActiveXObject) {
isIE = true;
req = new ActiveXObject(„Microsoft.XMLHTTP“);
}
}

function saveData()
{
Form2.inpContent.value = oEdit1.getHTMLBody();
var INPContent = oEdit1.getHTMLBody();
alert(INPContent);
var scontenttitle = Form2.inpTitle.value;
// var scontenttitle = ‚testtitle‘;//
var contentID = Form2.var_page_id.value;
// var contentID = ‚17‘;//
var url = „test.asp“;
initRequest(url);
req.onreadystatechange = processSave;
req.open(‚POST‘, url);
req.setRequestHeader(‚Content-Type‘,
‚application/x-www-form-urlencoded‘);

// req.setRequestHeader(‚Content-Type‘, ‚text/html‘);//

req.send(‚inpTitle=‘+scontenttitle+’&var_page_id=’+contentID+’&inpContent=’+INPContent);
alert(INPContent);

}
function processSave() {

if (req.readyState == 4) {
if (req.status == 200) {
var message = (req.responseText);
mdiv = document.getElementById(„Kundendaten“);
document.body.style.cursor = „auto“;
if (message == „false“) {
mdiv.innerHTML = „<div style=„color:red“>Invalid</div>“;
} else {
mdiv.innerHTML = „<div style=„color:green“>“ + message + „</div>“;

}
}
}
}

Funktion oEdit1.getHTMLBody(); stammt aus einem OnlineHtml-Editor und wandelt die eingabe des Formularfeldes in Html um. Das funktioniert auch.

Das Problem ist nun, dass die Daten auf dem Server nicht mehr als HTML ankommen. Es werden zB. Leerzeichen einfach ausgeschnitten, Anführungszeichen fehlen, manche TAGS verschwinden. Diese Daten sind kein HTML mehr.
Schick ich die Daten als „normales“ Formular ab, ist aber alle okay.

Könnt ihr mir evtl. einen Tip geben, warum über AJAX bzw. Javascript die Formulardaten verändert werden? Ihr seht an den Kommentaren im Code, dass ich schon einiges versucht habe. Alles ohne Erfolg. Bei einem MIME-Type von text/HTML kommen auf meinem SERVER überhaupt keine DAten an.

Auch diese URIENcode Geschichte habe ich schon versucht, kam aber auch nur „Müll“ an. ich müsst dann am server das URIDEcode laufen lassen. nur hab ich dazu keine idee wie das wieder gehn soll, da
es ja javavscript ist und das doch eigentlich immer clientseitig läuft.

Innerhalb der ALERTS ist aber noch alles okay von der Formatierung.

Zum Server. Win2003 - Serverseitiges ASP-Script mit update einer SQL-DB

Mit Javascript bin ich nicht so vertraut, ich komme aus der VBScript-Ecke.

Habt ihr evtl. einen Tippt für mich?

Danke Manuel.

ich möchte mit AJAX ein Formularfeld via POST absenden und auf
dem Server die Daten auslesen und in eine DB schreiben.

Das Problem ist nun, dass die Daten auf dem Server nicht mehr
als HTML ankommen. Es werden zB. Leerzeichen einfach
ausgeschnitten, Anführungszeichen fehlen, manche TAGS
verschwinden. Diese Daten sind kein HTML mehr.

> req.open('POST', url);  
> req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');  
> req.send('inpTitle='+scontenttitle+'&var\_page\_id='+contentID+'&inpContent='+INPContent);

wenn du sagst Content-Type’, 'application/x-www-form-urlencoded dann solltest du deine daten auch mit encodeURI() behandeln.
du solltest also notieren:

req.send('inpTitle='+encodeURI(scontenttitle)
 +'&var\_page\_id='+encodeURI(contentID)
 +'&inpContent='+encodeURI(INPContent));

req.send(‚inpTitle=‘+encodeURI(scontenttitle)
+’&var_page_id=’+encodeURI(contentID)
+’&inpContent=’+encodeURI(INPContent));

Habe das so mal ausprobiert und es scheint nun wirklich zu funktionieren. DANKE für die Hilfe