|
|
|
| Здравствуйте, у меня следующая задача, надо послать на обработчик parser.php весь innerHTML который есть в <div id="forxml">
для этого написан javascript, но почему то обработчик принимает пустой массив. Пишу print_r($_POST) -- возвращает Array().
Подскажите пожалуйста что я не так сделал.
// JavaScript Document
function createXMLHttp() {
if(typeof XMLHttpRequest != "undefined") { // для браузеров аля Mozilla
return new XMLHttpRequest();
} else if(window.ActiveXObject) { // для Internet Explorer (all versions)
var aVersions = ["MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0",
"MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp",
"Microsoft.XMLHttp"
];
for (var i = 0; i < aVersions.length; i++) {
try { //
var oXmlHttp = new ActiveXObject(aVersions[i]);
return oXmlHttp;
} catch (oError) {
}
}
throw new Error("Невозможно создать объект XMLHttp.");
}
}
function sendRequest() {
var myhtml = document.getElementById('forxml').innerHTML;
var oXmlHttp = createXMLHttp();
oXmlHttp.open("POST",'parser.php', true);
oXmlHttp.setRequestHeader("Content-Type", "text/xml");
oXmlHttp.onreadystatechange = function() {
if(oXmlHttp.readyState == 4) {
if(oXmlHttp.status == 200) {
saveResult(oXmlHttp.responseText);
} else {
saveResult("Ошибка: " + oXmlHttp.statusText);
}
}
};
oXmlHttp.send(encodeURIComponent(myhtml));
}
function saveResult(sText) {
var answer = document.getElementById('answer');
answer.innerHTML = sText;
} //Reciving data from the server END!
|
| |
|
|
|
|
|
|
|
для: UnlikeAO
(28.06.2010 в 11:54)
| | А если в sendRequest() добавить alert(myhtml);, то что мы увидим? | |
|
|
|
|
|
|
|
для: UnlikeAO
(28.06.2010 в 11:54)
| | Цитирую:
если вы хотите отправить данные методом POST, вы должны изменить MIME-тип запроса с помощью следующей строки:
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
В противном случае сервер проигнорирует данные, отправленные методом POST.
| (с) http://www.akvi.ru/ajax.html | |
|
|
|