Malcolm_Reed
Новичок
Метод POST в XMLHttpRequest
Есть JavaScript, отсылащющий запросы на сервер
Есть форма ввода данных
Что надо изменить в скрипте, чтобы он отправлял данные методом POST а не GET? Просто заменить все геты на посты, разумеется, не получается. Пологаю что помимо изменения метода на POSt, надо еще и что-то добавить сюда "req.send(_что-то_);" ??? Помогите люди добрые
Есть JavaScript, отсылащющий запросы на сервер
Код:
var req;
function loadXMLDoc(url) {
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
req.onreadystatechange = processReqChange;
req.open("GET", url, true);
req.send(null);
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
if (req) {
req.onreadystatechange = processReqChange;
req.open("GET", url, true);
req.send();
}
}
}
function processReqChange() {
document.form1.state.value = stat(req.readyState);
ab = window.setTimeout("req.abort();", 5000);
if (req.readyState == 4) {
clearTimeout(ab);
document.form1.statusnum.value = req.status;
document.form1.status.value = req.statusText;
// only if "OK"
if (req.status == 200) {
document.form1.response.value=req.responseText;
} else {
alert("Не удалось получить данные:\n" + req.statusText);
}
}
}
function stat(n)
{
switch (n) {
case 0:
return "не инициализирован";
break;
case 1:
return "загрузка...";
break;
case 2:
return "загружено";
break;
case 3:
return "в процессе...";
break;
case 4:
return "готово";
break;
default:
return "неизвестное состояние";
}
}
function requestdata(params)
{
loadXMLDoc('httpreq.php'+params);
}
Код:
<form name=form1>
<table width=100% style="font-size: 100%">
<tr><td width=30% valign=top>
Состояние запроса
<td width=70%>
<input size=25 disabled type=text name=state value="">
<tr><td valign=top>Код статуса
<td><input disabled size=2 type=text name=statusnum value="">
<input disabled size=19 type=text name=status value="">
<tr><td valign=top>Данные от сервера
<td><textarea rows=6 name=response></textarea>
<tr><td>Строка GET-запроса<td>
<input type=text name=getparams value="?">
<input type=button onclick="requestdata(getparams.value);" value="GET">
</table>
</form>