POST и AJAX
Есть код:
<script language="javascript">
var XMLHttpRequestObject = false;
if (window.XMLHttpRequest) {
XMLHttpRequestObject = new XMLHttpRequest();
} else if (window.ActiveXObject) {
XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}
function getAjax(data, div){
if(XMLHttpRequestObject) {
var obj = document.getElementById(div);
XMLHttpRequestObject.open("GET", data);
XMLHttpRequestObject.onreadystatechange = function()
{
if (XMLHttpRequestObject.readyState == 4 &&
XMLHttpRequestObject.status == 200) {
obj.innerHTML = XMLHttpRequestObject.responseText;
}
}
XMLHttpRequestObject.send(null);
}
}
</script>
затем я обращаюсь к файлу
<form>
<input type = button value = "Задать"
onclick = getAjax('http://localhost/file_ajax.php','target')>
</form>
<div id="target">
// сообщение пользователю, которое изменится при догрузке file_ajax.php
</div>
как передать переменные в этот файл методом POST?
пробовал менять строку
XMLHttpRequestObject.open("POST", data);
также пытался
XMLHttpRequestObject.open("POST","file_ajax.php",true);
XMLHttpRequestObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;');
XMLHttpRequestObject.onreadystatechange = handleRequestStateChange;
XMLHttpRequestObject.send("param1=value1¶m2=value2");
не работает... что я делаю неправильно?
P.S.
заранее спасибо за ответы
P.P.S.
теги вставки кода не работают, может из-за Оперы?
во-вторых, что есть строчка var obj = document.getElementById(div);
должны быть кавычки, точнее судя по твоему коду надо var obj = document.getElementById('target')
в-третьих попробуй
XMLHttpRequestObject.setRequestHeader("Method", "POST " + uri + " HTTP/1.1");
uri - это куда посылаешь, в твоём случае file_ajax.php (или data судя по коду)
Все работает - немного ступил, просто я по привычке делал
Код:
<input type=hidden value="значение" name="имя">
а надо было
Код:
XMLHttpRequestObject.send(value="значение" name="имя");